📜  遍历Pandas DataFrame中的行和列

📅  最后修改于: 2020-04-20 04:30:52             🧑  作者: Mango

迭代是一个总称,用于表示一件一件的事情。Pandas DataFrame由行和列组成,因此,为了迭代数据帧,我们必须像字典一样迭代数据帧。在字典中,我们以必须在数据帧中进行迭代的方式遍历对象的键。


在本文中,我们使用“ nba.csv“文件下载CSV,请单击此处
在Pandas Dataframe中,我们可以通过两种方式迭代元素:

  • 遍历行
  • 遍历列

遍历行:

为了遍历行,我们可以用三个函数iteritems() iterrows()itertuples() 。这三个函数将有助于迭代行。

使用行遍历 iterrows()

为了遍历行,我们应用了一个iterrows()函数,该函数返回每个索引值以及包含每一行数据的序列。
代码1:

# 导入pandas
import pandas as pd
# 列表字典
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
        'degree': ["MBA", "BCA", "M.Tech", "MBA"],
        'score':[90, 40, 80, 98]}
# creating a dataframe from a dictionary
df = pd.DataFrame(dict)
print(df)


现在我们应用iterrows()函数以获取行的每个元素。

# 导入pandas
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:

# 导入pandas
import pandas as pd
# 从csv文件制作数据帧
data = pd.read_csv("nba.csv")
# 对于数据可视化,我们过滤了前3个数据集
data.head(3)


现在我们应用一个迭代来获取数据框中行的每个元素

# 导入pandas
import pandas as pd
# 从csv文件制作数据帧
data = pd.read_csv("nba.csv")
for i, j in data.iterrows():
    print(i, j)
    print()

输出:


使用行遍历 iteritems()

为了遍历行,我们使用iteritems()函数,此函数遍历每一列作为键。
代码1:

# 导入pandas
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()函数以检索数据帧的行。

# 导入pandas
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
# making data frame from csv file
data = pd.read_csv("nba.csv")
# for data visualization we filter first 3 datasets
data.head(3)

输出:



现在,我们应用a iteritems()以便从数据框中检索行

# 导入pandas
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:

# 导入pandas
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()函数以获取每一行的元组

# 导入pandas
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)
# using a itertuples()
for i in df.itertuples():
    print(i)

输出:



代码2:

# importing pandas module
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv")
# for data visualization we filter first 3 datasets
data.head(3)


现在我们应用一个itertuples()来获取每行的合并

# 导入pandas
import pandas as pd
# 从csv文件制作数据帧
data = pd.read_csv("nba.csv")
for i in data.itertuples():
    print(i)

输出:


遍历列:

为了遍历列,我们需要创建一个数据框列的列表,然后遍历该列表以拉出数据框列。
代码1:

# 导入pandas
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)


现在我们遍历各列,以便遍历各列,首先创建一个数据框列的列表,然后遍历该列表。

# creating a list of dataframe columns
columns = list(df)
for i in columns:
    # printing the third element of the column
    print (df[i][2])

输出:



代码#2:

# 导入pandas
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])

输出: