{"id":4953,"date":"2023-10-28T17:57:39","date_gmt":"2023-10-28T12:27:39","guid":{"rendered":"https:\/\/python-programs.com\/?p=4953"},"modified":"2023-11-10T12:03:58","modified_gmt":"2023-11-10T06:33:58","slug":"pandas-loop-or-iterate-over-all-or-certain-columns-of-a-dataframe","status":"publish","type":"post","link":"https:\/\/python-programs.com\/pandas-loop-or-iterate-over-all-or-certain-columns-of-a-dataframe\/","title":{"rendered":"Pandas : Loop or Iterate over all or certain columns of a dataframe"},"content":{"rendered":"
In this article, we will discuss how to loop or Iterate overall or certain columns of a DataFrame. Also, you may learn and understand what is dataframe and how pandas dataframe iterate over columns with the help of great explanations and example codes.<\/p>\n
A Pandas DataFrame is a 2-dimensional data structure, like a 2-dimensional array, or a table with rows and columns.<\/p>\n
First, we are going to create a dataframe that will use in our article.<\/p>\n
import pandas as pd\r\n\r\nemployees = [('Abhishek', 34, 'Sydney') ,\r\n ('Sumit', 31, 'Delhi') ,\r\n ('Sampad', 16, 'New York') ,\r\n ('Shikha', 32,'Delhi') ,\r\n ]\r\n\r\n#load data into a DataFrame object:\r\ndf = pd.DataFrame(employees, columns=['Name', 'Age', 'City'], index=['a', 'b', 'c', 'd'])\r\n\r\nprint(df)<\/pre>\nOutput:<\/strong><\/p>\n
Name Age City\r\na Abhishek 34 Sydney\r\nb Sumit 31 Delhi\r\nc Sampad 16 New York\r\nd Shikha 32 Delhi\r\n<\/pre>\nAlso Check:<\/span><\/p>\n
\n
- Pandas: skip rows while reading csv file to a Dataframe using read_csv() in Python<\/span><\/a><\/li>\n
- Pandas: Convert a dataframe column into a list using Series.to_list() or numpy.ndarray.tolist() in python<\/a><\/li>\n<\/ul>\n
<\/a>Using DataFrame.iteritems()<\/h3>\n
We are going to iterate columns of a dataframe using DataFrame.iteritems().<\/p>\n
Dataframe class provides a member function iteritems().<\/p>\n
import pandas as pd\r\nemployees = [('Abhishek', 34, 'Sydney') ,\r\n ('Sumit', 31, 'Delhi') ,\r\n ('Sampad', 16, 'New York') ,\r\n ('Shikha', 32,'Delhi') , ]\r\n#load data into a DataFrame object:\r\ndf = pd.DataFrame(employees, columns=['Name', 'Age', 'City'], index=['a', 'b', 'c', 'd'])\r\n# Yields a tuple of column name and series for each column in the dataframe\r\nfor (columnName, columnData) in df.iteritems():\r\n print('Colunm Name : ', columnName)\r\n print('Column Contents : ', columnData.values)\r\n\r\n<\/pre>\nOutput:<\/strong><\/p>\n
Colunm Name : Name\r\nColumn Contents : ['Abhishek' 'Sumit' 'Sampad' 'Shikha']\r\nColunm Name : Age\r\nColumn Contents : [34 31 16 32]\r\nColunm Name : City\r\nColumn Contents : ['Sydney' 'Delhi' 'New York' 'Delhi']\r\n<\/pre>\nIn the above example, we have to return an iterator that can be used to iterate over all the columns. For each column, it returns a tuple containing the column name and column contents.<\/p>\n
<\/a>Iterate over columns in dataframe using Column Names<\/h3>\n
import pandas as pd\r\nemployees = [('Abhishek', 34, 'Sydney') ,\r\n ('Sumit', 31, 'Delhi') ,\r\n ('Sampad', 16, 'New York') ,\r\n ('Shikha', 32,'Delhi') , ]\r\n#load data into a DataFrame object:\r\ndf = pd.DataFrame(employees, columns=['Name', 'Age', 'City'], index=['a', 'b', 'c', 'd'])\r\n# Yields a tuple of column name and series for each column in the dataframe\r\nfor column in df:\r\n # Select column contents by column name using [] operator\r\n columnSeriesObj = df[column]\r\n print('Colunm Name : ', column)\r\n print('Column Contents : ', columnSeriesObj.values)\r\n<\/pre>\nOutput:<\/strong><\/p>\n
Colunm Name : Name\r\nColumn Contents : ['Abhishek' 'Sumit' 'Sampad' 'Shikha']\r\nColunm Name : Age\r\nColumn Contents : [34 31 16 32]\r\nColunm Name : City\r\nColumn Contents : ['Sydney' 'Delhi' 'New York' 'Delhi']\r\n<\/pre>\nln the above example, we can see that
Dataframe.columns<\/code> returns a sequence of column names on which we put iteration and return column name and content.<\/p>\n
<\/a>Iterate Over columns in dataframe in reverse order<\/h3>\n
import pandas as pd\r\nemployees = [('Abhishek', 34, 'Sydney') ,\r\n ('Sumit', 31, 'Delhi') ,\r\n ('Sampad', 16, 'New York') ,\r\n ('Shikha', 32,'Delhi') , ]\r\n#load data into a DataFrame object:\r\ndf = pd.DataFrame(employees, columns=['Name', 'Age', 'City'], index=['a', 'b', 'c', 'd'])\r\n# Yields a tuple of column name and series for each column in the dataframe\r\nfor column in reversed(df.columns):\r\n # Select column contents by column name using [] operator\r\n columnSeriesObj = df[column]\r\n print('Colunm Name : ', column)\r\n print('Column Contents : ', columnSeriesObj.values)<\/pre>\nOutput:<\/strong><\/p>\n
Colunm Name : City\r\nColumn Contents : ['Sydney' 'Delhi' 'New York' 'Delhi']\r\nColunm Name : Age\r\nColumn Contents : [34 31 16 32]\r\nColunm Name : Name\r\nColumn Contents : ['Abhishek' 'Sumit' 'Sampad' 'Shikha']\r\n<\/pre>\nWe have used
reversed(df.columns)<\/code>which given us the reverse column name and its content.<\/p>\n
<\/a>Iterate Over columns in dataframe by index using iloc[]<\/h3>\n
import pandas as pd\r\nemployees = [('Abhishek', 34, 'Sydney') ,\r\n ('Sumit', 31, 'Delhi') ,\r\n ('Sampad', 16, 'New York') ,\r\n ('Shikha', 32,'Delhi') , ]\r\n#load data into a DataFrame object:\r\ndf = pd.DataFrame(employees, columns=['Name', 'Age', 'City'], index=['a', 'b', 'c', 'd'])\r\n# Yields a tuple of column name and series for each column in the dataframe\r\nfor index in range(df.shape[1]):\r\n print('Column Number : ', index)\r\n # Select column by index position using iloc[]\r\n columnSeriesObj = df.iloc[: , index]\r\n print('Column Contents : ', columnSeriesObj.values)\r\n\r\n<\/pre>\nOutput:<\/strong><\/p>\n
Column Number : 0\r\nColumn Contents : ['Abhishek' 'Sumit' 'Sampad' 'Shikha']\r\nColumn Number : 1\r\nColumn Contents : [34 31 16 32]\r\nColumn Number : 2\r\nColumn Contents : ['Sydney' 'Delhi' 'New York' 'Delhi']\r\n\r\n<\/pre>\nSo in the above example, you can see that we have iterate over all columns of the dataframe from the 0th index to the last index column. We have selected the contents of the columns using iloc[].<\/p>\n
Want to expert in the python programming language? Exploring\u00a0Python Data Analysis using Pandas<\/a>\u00a0tutorial changes your knowledge from basic to advance level in python concepts.<\/p>\n
Read more Articles on Python Data Analysis Using Padas<\/strong><\/p>\n
\n
- How to merge Dataframes using Dataframe.merge() in Python?<\/a><\/li>\n
- How to merge Dataframes on specific columns or on index in Python?<\/a><\/li>\n
- How to merge Dataframes by index using Dataframe.merge()?<\/a><\/li>\n
- Count NaN or missing values in DataFrame<\/a><\/li>\n
- Count rows in a dataframe | all or those only that satisfy a condition<\/a><\/li>\n
- 6 Different ways to iterate over rows in a Dataframe & Update while iterating row by row<\/a><\/li>\n
- How to display full Dataframe i.e. print all rows & columns without truncation<\/a><\/li>\n<\/ul>\n
Conclusion:<\/h3>\n
At last, I can say that the above-explained different methods to iterate over all or certain columns of a dataframe. aids you a lot in understanding the Pandas: Loop or Iterate over all or certain columns of a dataframe. Thank you!<\/p>\n","protected":false},"excerpt":{"rendered":"
In this article, we will discuss how to loop or Iterate overall or certain columns of a DataFrame. Also, you may learn and understand what is dataframe and how pandas dataframe iterate over columns with the help of great explanations and example codes. About DataFrame Using DataFrame.iteritems() Iterate over columns in dataframe using Column Names …<\/p>\n