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