在Pandas DataFrame中对行和列进行迭代

在Pandas DataFrame中对行和列进行迭代

迭代是一个总的术语,指的是一个接一个地取走某物的每一项。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)
Python

在Pandas DataFrame中对行和列进行迭代

现在我们应用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()
Python

输出:

在Pandas DataFrame中对行和列进行迭代

代码 #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)
Python

在Pandas DataFrame中对行和列进行迭代

现在我们应用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()
Python

输出:

在Pandas DataFrame中对行和列进行迭代

使用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)
Python

在Pandas DataFrame中对行和列进行迭代

现在我们应用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()
Python

输出:

在Pandas DataFrame中对行和列进行迭代

代码 #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)
Python

输出:

在Pandas DataFrame中对行和列进行迭代

现在我们应用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()
Python

输出:

在Pandas DataFrame中对行和列进行迭代

使用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)
Python

在Pandas DataFrame中对行和列进行迭代

现在我们应用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)
Python

输出:

在Pandas DataFrame中对行和列进行迭代

代码 #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)
Python

在Pandas DataFrame中对行和列进行迭代

现在我们应用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)
Python

输出:

在Pandas 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)
Python

在Pandas DataFrame中对行和列进行迭代

现在我们通过列进行迭代,为了通过列进行迭代,我们首先创建一个数据框架列的列表,然后通过列表进行迭代。

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

输出:

在Pandas DataFrame中对行和列进行迭代

代码 #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
Python

在Pandas DataFrame中对行和列进行迭代

现在我们对CSV文件中的列进行迭代,为了迭代列,我们创建了一个数据框架列的列表并对列表进行迭代

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

输出:

在Pandas DataFrame中对行和列进行迭代

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程