在Pandas DataFrame中对行和列进行迭代
迭代是一个总的术语,指的是一个接一个地取走某物的每一项。Pandas DataFrame由行和列组成,所以,为了迭代数据框架,我们必须像字典一样迭代数据框架。在字典中,我们以在数据框架中迭代的同样方式迭代对象的键。
在这篇文章中,我们使用 “nba.csv “文件来下载CSV,点击这里。
在Pandas Dataframe中,我们可以通过两种方式迭代一个元素。
- 迭代行数
- 迭代列
迭代行:
为了对行进行迭代,我们可以使用三个函数iteritems(), iterrows(), itertuples() 。这三个函数将有助于对行的迭代。
使用iterrows()对行进行迭代
为了对行进行迭代,我们应用iterrows()函数,该函数返回每个索引值以及包含每行数据的系列。
代码 #1:
# importing pandas as pd
import pandas as pd
# dictionary of lists
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()函数,以获得行中的每个元素。
# importing pandas as pd
import pandas as pd
# dictionary of lists
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)
# iterating over rows using iterrows() function
for i, j in df.iterrows():
print(i, j)
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)
现在我们应用iterrows来获取数据框架中的每一个行元素
# importing pandas module
import pandas as pd
# making data frame from csv file
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
# dictionary of lists
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)
现在我们应用iteritems()函数,以检索数据帧的行数。
# importing pandas as pd
import pandas as pd
# dictionary of lists
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)
# using iteritems() function to retrieve rows
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)
输出:
现在我们应用iteritems(),以便从一个数据框架中检索行。
# importing pandas module
import pandas as pd
# making data frame from csv file
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
# dictionary of lists
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)
现在我们应用itertuples()函数,以获得每一行的元组。
# importing pandas as pd
import pandas as pd
# dictionary of lists
dict = {'name':["aparna", "pankaj", "sudhir", "Geeku"],
'degree': ["MBA", "BCA", "M.Tech", "MBA"],
'score':[90, 40, 80, 98]}
# creating a dataframe from dictionary
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()来获取每行的图元。
# importing pandas module
import pandas as pd
# making data frame from csv file
data = pd.read_csv("nba.csv")
for i in data.itertuples():
print(i)
输出:
迭代列:
为了对列进行迭代,我们需要创建一个数据框架列的列表,然后通过该列表迭代来拉出数据框架列。
代码 #1:
# importing pandas as pd
import pandas as pd
# dictionary of lists
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)
现在我们通过列进行迭代,为了通过列进行迭代,我们首先创建一个数据框架列的列表,然后通过列表进行迭代。
# 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:
# 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
col = data.head(3)
col
现在我们对CSV文件中的列进行迭代,为了迭代列,我们创建了一个数据框架列的列表并对列表进行迭代
# creating a list of dataframe columns
clmn = list(col)
for i in clmn:
# printing a third element of column
print(col[i][2])
输出: