Pandas中迭代DataFrame行的方法總結
Python是進行數(shù)據(jù)分析的一種很好的語言,主要是因為以數(shù)據(jù)為中心的Python包的奇妙生態(tài)系統(tǒng)。Pandas就是其中之一,它使導入和分析數(shù)據(jù)變得更加容易。
1. 使用Dataframe的index屬性
# import pandas package as pd import pandas as pd # Define a dictionary containing students data data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 'Age': [21, 19, 20, 18], 'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 'Percentage': [88, 92, 95, 70]} # Convert the dictionary into DataFrame df = pd.DataFrame(data, columns=['Name', 'Age', 'Stream', 'Percentage']) print("Given Dataframe :\n", df) print("\nIterating over rows using index attribute :\n") # iterate through each row and select # 'Name' and 'Stream' column respectively. for ind in df.index: print(df['Name'][ind], df['Stream'][ind])
輸出
Given Dataframe :
Name Age Stream Percentage
0 Ankit 21 Math 88
1 Amit 19 Commerce 92
2 Aishwarya 20 Arts 95
3 Priyanka 18 Biology 70
Iterating over rows using index attribute :
Ankit Math
Amit Commerce
Aishwarya Arts
Priyanka Biology
2. 使用DataFrame的loc
# import pandas package as pd import pandas as pd # Define a dictionary containing students data data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 'Age': [21, 19, 20, 18], 'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 'Percentage': [88, 92, 95, 70]} # Convert the dictionary into DataFrame df = pd.DataFrame(data, columns=['Name', 'Age', 'Stream', 'Percentage']) print("Given Dataframe :\n", df) print("\nIterating over rows using loc function :\n") # iterate through each row and select # 'Name' and 'Age' column respectively. for i in range(len(df)): print(df.loc[i, "Name"], df.loc[i, "Age"])
輸出
Given Dataframe :
Name Age Stream Percentage
0 Ankit 21 Math 88
1 Amit 19 Commerce 92
2 Aishwarya 20 Arts 95
3 Priyanka 18 Biology 70
Iterating over rows using loc function :
Ankit 21
Amit 19
Aishwarya 20
Priyanka 18
3. 使用DataFrame的iloc
# import pandas package as pd import pandas as pd # Define a dictionary containing students data data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 'Age': [21, 19, 20, 18], 'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 'Percentage': [88, 92, 95, 70]} # Convert the dictionary into DataFrame df = pd.DataFrame(data, columns=['Name', 'Age', 'Stream', 'Percentage']) print("Given Dataframe :\n", df) print("\nIterating over rows using iloc function :\n") # iterate through each row and select # 0th and 2nd index column respectively. for i in range(len(df)): print(df.iloc[i, 0], df.iloc[i, 2])
輸出
Given Dataframe :
Name Age Stream Percentage
0 Ankit 21 Math 88
1 Amit 19 Commerce 92
2 Aishwarya 20 Arts 95
3 Priyanka 18 Biology 70
Iterating over rows using iloc function :
Ankit Math
Amit Commerce
Aishwarya Arts
Priyanka Biology
4. 使用Dataframe的iterrows()
# import pandas package as pd import pandas as pd # Define a dictionary containing students data data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 'Age': [21, 19, 20, 18], 'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 'Percentage': [88, 92, 95, 70]} # Convert the dictionary into DataFrame df = pd.DataFrame(data, columns=['Name', 'Age', 'Stream', 'Percentage']) print("Given Dataframe :\n", df) print("\nIterating over rows using iterrows() method :\n") # iterate through each row and select # 'Name' and 'Age' column respectively. for index, row in df.iterrows(): print(row["Name"], row["Age"])
輸出
Given Dataframe :
Name Age Stream Percentage
0 Ankit 21 Math 88
1 Amit 19 Commerce 92
2 Aishwarya 20 Arts 95
3 Priyanka 18 Biology 70
Iterating over rows using iterrows() method :
Ankit 21
Amit 19
Aishwarya 20
Priyanka 18
5. 使用Dataframe的itertuples()
# import pandas package as pd import pandas as pd # Define a dictionary containing students data data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 'Age': [21, 19, 20, 18], 'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 'Percentage': [88, 92, 95, 70]} # Convert the dictionary into DataFrame df = pd.DataFrame(data, columns=['Name', 'Age', 'Stream', 'Percentage']) print("Given Dataframe :\n", df) print("\nIterating over rows using itertuples() method :\n") # iterate through each row and select # 'Name' and 'Percentage' column respectively. for row in df.itertuples(index=True, name='Pandas'): print(getattr(row, "Name"), getattr(row, "Percentage"))
輸出
Given Dataframe :
Name Age Stream Percentage
0 Ankit 21 Math 88
1 Amit 19 Commerce 92
2 Aishwarya 20 Arts 95
3 Priyanka 18 Biology 70
Iterating over rows using itertuples() method :
Ankit 88
Amit 92
Aishwarya 95
Priyanka 70
6. 使用DataFrame的apply()
# import pandas package as pd import pandas as pd # Define a dictionary containing students data data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 'Age': [21, 19, 20, 18], 'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 'Percentage': [88, 92, 95, 70]} # Convert the dictionary into DataFrame df = pd.DataFrame(data, columns=['Name', 'Age', 'Stream', 'Percentage'])print("Given Dataframe :\n", df) print("\nIterating over rows using apply function :\n") ???????# iterate through each row and concatenate # 'Name' and 'Percentage' column respectively. print(df.apply(lambda row: row["Name"] + " " + str(row["Percentage"]), axis=1))
輸出
Given Dataframe :
Name Age Stream Percentage
0 Ankit 21 Math 88
1 Amit 19 Commerce 92
2 Aishwarya 20 Arts 95
3 Priyanka 18 Biology 70
???????Iterating over rows using apply function :
0 Ankit 88
1 Amit 92
2 Aishwarya 95
3 Priyanka 70
dtype: object
以上就是Pandas中迭代DataFrame行的方法總結的詳細內(nèi)容,更多關于Pandas Dataframe迭代行的資料請關注腳本之家其它相關文章!
相關文章
Python 實現(xiàn)將numpy中的nan和inf,nan替換成對應的均值
這篇文章主要介紹了Python 實現(xiàn)將numpy中的nan和inf,nan替換成對應的均值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python利用psutil庫進行監(jiān)控進程和資源
psutil是Python系統(tǒng)和進程工具庫,它提供了一種跨平臺的方式來獲取系統(tǒng)信息、管理系統(tǒng)進程、監(jiān)控系統(tǒng)性能、操作系統(tǒng)資源等,下面就跟隨小編一起來學習psutil庫的具體應用吧2024-01-01