迭代是一个通用术语,用于一个接一个地获取某物的每一项。Pandas DataFrame 由行和列组成,因此,为了迭代数据帧,我们必须像字典一样迭代数据帧。在字典中,我们以与在数据帧中迭代相同的方式迭代对象的键。
在 Pandas Dataframe 中,我们可以通过两种方式迭代元素:
- 遍历行
- 遍历列
遍历行:
为了迭代行,我们可以使用三个函数 iteritems()、iterrows()、itertuples()。这三个函数将有助于对行进行迭代。
使用 iterrows() 对行进行迭代
为了迭代行,我们应用了 iterrows() 函数,该函数返回每个索引值以及包含每行数据的序列。
代码#1:
# importing pandas as pd import pandas as pd # 列表字典 dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"], 'degree': ["MBA", "BCA", "M.Tech", "MBA"], 'score':[90, 40, 80, 98]} # 从字典创建数据框 df = pd.DataFrame(dict) print(df)
现在我们应用 iterrows() 函数来获取行的每个元素。
# importing pandas as pd import pandas as pd # 列表字典 dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"], 'degree': ["MBA", "BCA", "M.Tech", "MBA"], 'score':[90, 40, 80, 98]} # 从字典创建数据框 df = pd.DataFrame(dict) # 使用 iterrows() 函数遍历行 for i, j in df.iterrows(): print(i, j) print()
输出:
代码#2:
# importing pandas module import pandas as pd # 从csv文件制作数据框 data = pd.read_csv("nba.csv") # 对于数据可视化,我们过滤前 3 个数据集 data.head(3)
现在我们应用 iterrows 来获取数据框中行的每个元素
# importing pandas module import pandas as pd # 从csv文件制作数据框 data = pd.read_csv("nba.csv") for i, j in data.iterrows(): print(i, j) print()
输出:
使用 iteritems() 对行进行迭代
为了迭代行,我们使用 iteritems() 函数,该函数迭代每列作为键,以标签作为键的值对,以及作为系列对象的列值。
代码#1:
# importing pandas as pd import pandas as pd # 列表字典 dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"], 'degree': ["MBA", "BCA", "M.Tech", "MBA"], 'score':[90, 40, 80, 98]} # 从字典创建数据框 df = pd.DataFrame(dict) print(df)
现在我们应用一个 iteritems() 函数来检索一行数据帧。
# importing pandas as pd import pandas as pd # 列表字典 dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"], 'degree': ["MBA", "BCA", "M.Tech", "MBA"], 'score':[90, 40, 80, 98]} # 从字典创建数据框 df = pd.DataFrame(dict) # 使用 iteritems() 函数检索行 for key, value in df.iteritems(): print(key, value) print()
输出:
代码#2:
# importing pandas module import pandas as pd # 从csv文件制作数据框 data = pd.read_csv("nba.csv") # 对于数据可视化,我们过滤前 3 个数据集 data.head(3)
输出:
现在我们应用 iteritems() 以从数据框中检索行
# importing pandas module import pandas as pd # 从csv文件制作数据框 data = pd.read_csv("nba.csv") for key, value in data.iteritems(): print(key, value) print()
输出:
使用 itertuples() 对行进行迭代
为了遍历行,我们应用了一个函数 itertuples(),这个函数为 DataFrame 中的每一行返回一个元组。元组的第一个元素将是行的相应索引值,而其余的值是行值。
代码#1:
# importing pandas as pd import pandas as pd # 列表字典 dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"], 'degree': ["MBA", "BCA", "M.Tech", "MBA"], 'score':[90, 40, 80, 98]} # 从字典创建数据框 df = pd.DataFrame(dict) print(df)
现在我们应用一个 itertuples() 函数来获取每一行的元组
# importing pandas as pd import pandas as pd # 列表字典 dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"], 'degree': ["MBA", "BCA", "M.Tech", "MBA"], 'score':[90, 40, 80, 98]} # 从字典创建数据框 df = pd.DataFrame(dict) # 使用 itertuples() for i in df.itertuples(): print(i)
输出:
代码#2:
# importing pandas module import pandas as pd # 从csv文件制作数据框 data = pd.read_csv("nba.csv") # 对于数据可视化,我们过滤前 3 个数据集 data.head(3)
现在我们应用一个 itertuples() 来获取每行的 atuple
# importing pandas module import pandas as pd # 从csv文件制作数据框 data = pd.read_csv("nba.csv") for i in data.itertuples(): print(i)
输出:
遍历 Columns :
为了遍历列,我们需要创建一个数据框列的列表,然后遍历该列表以提取数据框列。
代码#1:
# importing pandas as pd import pandas as pd # 列表字典 dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"], 'degree': ["MBA", "BCA", "M.Tech", "MBA"], 'score':[90, 40, 80, 98]} # 从字典创建数据框 df = pd.DataFrame(dict) print(df)
现在我们遍历列为了遍历列,我们首先创建一个数据框列的列表,然后遍历列表。
python
复制代码
# 创建数据框列的列表 columns = list(df) for i in columns: # printing the third element of the column print (df[i][2])
输出:
代码#2:
# importing pandas module import pandas as pd # 从csv文件制作数据框 data = pd.read_csv("nba.csv") # 对于数据可视化,我们过滤前 3 个数据集 col = data.head(3) col
现在我们遍历 CSV 文件中的列以遍历列,我们创建数据框列的列表并遍历列表
# 创建数据框列的列表 clmn = list(col) for i in clmn: # 打印列的第三个元素 print(col[i][2])
输出: