Itertuples: Basic iteration over Pandas objects behaves differently depending on the type. It is treated as array-like when iterating over a Series, and basic iteration yields the values. Other data structures, such as DataFrame and Panel, iterate over the keys of the objects in a dict-like fashion.
In a nutshell, basic iteration (for i in object) yields
- Series: Values
- DataFrame: Column labels
- Panel: Item labels
Pandas DataFrame itertuples() Function:
Pandas itertuples example: To iterate over the DataFrame rows as namedtuples, use the itertuples() function Pandas DataFrame.
Syntax:
DataFrame.itertuples(index=True, name='Pandas')
Parameters
index: This is optional. If True, the index is returned as the tuple’s first element. True is the default value.
name: This is optional. It indicates the name for the namedtuples that will be returned, or None to return regular tuples. ‘Pandas’ is the default.
Return Value:
For each row in the DataFrame, returns an object to iterate over namedtuples, with the first field possibly being the index and the following fields being the column values.
- Pandas: 6 Different ways to iterate over rows in a Dataframe & Update while iterating row by row
- Pandas : Get unique values in columns of a Dataframe in Python
- Python Pandas Series ge() Function
Pandas DataFrame itertuples() Function in Python
Example1
Approach:
- Import pandas module using the import keyword.
- Import NumPy module using the import keyword.
- Pass some random key-value pair(dictionary), index list as arguments to the DataFrame() function of the pandas module to create a dataframe
- Store it in a variable.
- Print the given dataframe
- Loop in each row of the dataframe using the for loop and itertuples() function and print each row data.
- The Exit of the Program.
Below is the implementation:
# Import pandas module using the import keyword. import pandas as pd # Import NumPy module using the import keyword. import numpy as np # Pass some random key-value pair(dictionary), index list as arguments to the # DataFrame() function of the pandas module to create a dataframe # Store it in a variable. data_frme = pd.DataFrame({ "emp_name": ["john", "nick" , "jessy", "mary"], "emp_age": [25, 35, 38, 22], "emp_salary": [25000, 40000, 22000, 80000]}, index= [1, 2, 3, 4] ) # Print the given dataframe print("The given DataFrame:") print(data_frme) print() # Loop in each row of the dataframe using the for loop and # itertuples() function and print each row data for rowdata in data_frme.itertuples(): print(rowdata)
Output:
The given DataFrame: emp_name emp_age emp_salary 1 john 25 25000 2 nick 35 40000 3 jessy 38 22000 4 mary 22 80000 Pandas(Index=1, emp_name='john', emp_age=25, emp_salary=25000) Pandas(Index=2, emp_name='nick', emp_age=35, emp_salary=40000) Pandas(Index=3, emp_name='jessy', emp_age=38, emp_salary=22000) Pandas(Index=4, emp_name='mary', emp_age=22, emp_salary=80000)
Example2
Approach:
- Import pandas module using the import keyword.
- Pass some random key-value pair(dictionary), index list as arguments to the DataFrame() function of the pandas module to create a dataframe
- Store it in a variable.
- Print the given dataframe
- Pass the index=False as an argument to the itertuples() function that removes index as the first element in the result.
- Pass the name=’Btechgeeks’ as argument to the itertuples() function that gives user-specified name in the result instead of pandas.
- Pass the name=None as an argument to the itertuples() function that removes names in the result.
- The Exit of the Program.
Below is the implementation:
# Import pandas module using the import keyword. import pandas as pd # Pass some random key-value pair(dictionary), index list as arguments to the # DataFrame() function of the pandas module to create a dataframe # Store it in a variable. data_frme = pd.DataFrame({ "emp_name": ["john", "nick" , "jessy", "mary"], "emp_age": [25, 35, 38, 22], "emp_salary": [25000, 40000, 22000, 80000]}, index= [1, 2, 3, 4] ) # Print the given dataframe print("The given DataFrame:") print(data_frme) print() # Pass the index=False as an argument to the itertuples() function that # removes index as first element in the result for row_val in data_frme.itertuples(index=False): print(row_val) print() # Pass the name='Btechgeeks' as argument to the itertuples() function that # gives user specified name in the result instead of pandas for row_val in data_frme.itertuples(name='Btechgeeks'): print(row_val) print() # Pass the name=None as an argument to the itertuples() function that # removes names in the result. for row_val in data_frme.itertuples(name=None): print(row_val)
Output:
The given DataFrame: emp_name emp_age emp_salary 1 john 25 25000 2 nick 35 40000 3 jessy 38 22000 4 mary 22 80000 Pandas(emp_name='john', emp_age=25, emp_salary=25000) Pandas(emp_name='nick', emp_age=35, emp_salary=40000) Pandas(emp_name='jessy', emp_age=38, emp_salary=22000) Pandas(emp_name='mary', emp_age=22, emp_salary=80000) Btechgeeks(Index=1, emp_name='john', emp_age=25, emp_salary=25000) Btechgeeks(Index=2, emp_name='nick', emp_age=35, emp_salary=40000) Btechgeeks(Index=3, emp_name='jessy', emp_age=38, emp_salary=22000) Btechgeeks(Index=4, emp_name='mary', emp_age=22, emp_salary=80000) (1, 'john', 25, 25000) (2, 'nick', 35, 40000) (3, 'jessy', 38, 22000) (4, 'mary', 22, 80000)