Итерация по строкам и столбцам в Pandas DataFrame

Опубликовано: 28 Марта, 2022

Итерация - это общий термин, обозначающий каждый элемент чего-либо, один за другим. Pandas DataFrame состоит из строк и столбцов, поэтому, чтобы перебрать фрейм данных, мы должны перебирать фрейм данных, как словарь. В словаре мы перебираем ключи объекта так же, как и во фрейме данных.

In this article, we are using “nba.csv” file to download the CSV, click here.

В Pandas Dataframe мы можем выполнять итерацию элемента двумя способами:

  • Итерации по строкам
  • Итерации по столбцам

Итерации по строкам:

In order to iterate over rows, we can use three function iteritems(), iterrows(), itertuples() . These three function will help in iteration over rows.

Iteration over rows using iterrows()

In order to iterate over rows, we apply a iterrows() function this function return each index value along with a series containing the data in each row.

Code #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)


Now we apply iterrows() function in order to get a each element of rows.

# 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()

Output:

 
Code #2:

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


Now we apply a iterrows to get each element of rows in dataframe

# 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()

Output:

Iteration over rows using iteritems()

In order to iterate over rows, we use iteritems() function this function iterates over each column as key, value pair with label as key and column value as a Series object.

Код №1:


Now we apply a iteritems() function in order to retrieve an rows of dataframe.

# 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]}
  
# craeting 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()

Выход:

Code #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)

Output:

Now we apply a iteritems() in order to retrieve rows from a dataframe

# 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()

Output:

Iteration over rows using itertuples()

In order to iterate over rows, we apply a function itertuples() this function return a tuple for each row in the DataFrame. The first element of the tuple will be the row’s corresponding index value, while the remaining values are the row values.

Code #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)


Now we apply a itertuples() function inorder to get tuple for each row

# 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)

Выход:

Code #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)


Now we apply an itertuples() to get atuple of each rows

# 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)

Выход:

Итерация по столбцам:

Чтобы перебрать столбцы, нам нужно создать список столбцов фрейма данных, а затем выполнить итерацию по этому списку, чтобы вытащить столбцы фрейма данных.

Code #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)


Now we iterate through columns in order to iterate through columns we first create a list of dataframe columns and then iterate through list.

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

Output:

 
Code #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


Now we iterate over columns in CSV file in order to iterate over columns we create a list of dataframe columns and iterate over list

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

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.