Python Tutorial: Pandas DataFrame-Iterating

Friday, 25 September 2020

Pandas DataFrame-Iterating

 Different ways to iterate over rows in Pandas Dataframe

There are two many ways using which you can iterate over a dataframe. Most common of which are <DFobject>.iterrows() and <DFobject>.iteritems().  




<DFobject>.iterrows() : The method iterates over dataframe row wise where each horizontal subset is in the form of (row-index, Series) where Series contains all column values for that row-index.



Example:

import pandas as pd

SData={"name":['Vinita','Ankita','Amit'],\

       'Accounts':[54,76,98],'English':[89,43,67],\

       'Bst':[65,32,54]}

print("Convert dictionary to dataframe")

df=pd.DataFrame(SData, index=['I','II','III'])

print(df)

for (row,rowSeries) in df.iterrows():

    print("Row index :", row)

    print("Containg :")

    print(rowSeries)

    print()

Output:



Example :

import pandas as pd

# Define a dictionary containing students data

data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'],

                'Age': [21, 19, 20, 18],

                'Stream': ['Math', 'Commerce', 'Arts', 'Biology'],

                'Percentage': [88, 92, 95, 70]} 

# Convert the dictionary into DataFrame

df = pd.DataFrame(data, columns = ['Name', 'Age', 'Stream', 'Percentage'])

print("Given Dataframe :\n", df)  

print("\nIterating over rows using iterrows() method :\n")   

# iterate through each row and select 

# 'Name' and 'Age' column respectively.

for index, row in df.iterrows():

    print (row["Name"], row["Age"])

Output :



<DFobject>.iteritems() : The iteritems() method iterates over dataframe column-wise where each vertical subset is in the form of (col-index, Series) where Series  contains all row values for that column-index.


Example:

import pandas as pd

Sales={'Year1':{'Qtr1':43000,'Qtr2':76000,'Qtr3':76000},\

       'Year2':{'Qtr1':47000,'Qtr2':60000,'Qtr3':96000},\

       'Year3':{'Qtr1':63000,'Qtr2':36000,'Qtr3':46000}}

df1=pd.DataFrame(Sales)

for (col, colSales) in df1.iteritems():

    print("Column index : ", col)

    print("Containg :")

    print(colSales)

    print()

Output:



No comments:

Post a Comment