Olika sätt att iterera över rader i Pandas Dataframe

I den här artikeln kommer vi att täcka hur man itererar över rader i en DataFrame i Pandas .

Hur man itererar över rader i en DataFrame i Pandas

Python är ett bra språk för att göra dataanalys, främst på grund av det fantastiska ekosystemet av datacentrerade Python-paket. Pandas är ett av dessa paket och gör import och analys av data mycket enklare.

Låt oss se de olika sätten att iterera över rader i Pandas Dataram :

Metod 1: Använda dataramens indexattribut.

Python3




# import pandas package as pd> 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 : '> , df)> print> (> ' Iterating over rows using index attribute : '> )> # iterate through each row and select> # 'Name' and 'Stream' column respectively.> for> ind> in> df.index:> > print> (df[> 'Name'> ][ind], df[> 'Stream'> ][ind])>

Produktion:

Given Dataframe :  Name Age Stream Percentage 0 Ankit 21 Math 88 1 Amit 19 Commerce 92 2 Aishwarya 20 Arts 95 3 Priyanka 18 Biology 70  Iterating over rows using index attribute :  Ankit Math Amit Commerce Aishwarya Arts Priyanka Biology 

Metod 2: Använder sig av plats[] fungera av dataramen.

Python3




# import pandas package as pd> 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 : '> , df)> print> (> ' Iterating over rows using loc function : '> )> # iterate through each row and select> # 'Name' and 'Age' column respectively.> for> i> in> range> (> len> (df)):> > print> (df.loc[i,> 'Name'> ], df.loc[i,> 'Age'> ])>

Produktion:

Given Dataframe :  Name Age Stream Percentage 0 Ankit 21 Math 88 1 Amit 19 Commerce 92 2 Aishwarya 20 Arts 95 3 Priyanka 18 Biology 70  Iterating over rows using loc function :  Ankit 21 Amit 19 Aishwarya 20 Priyanka 18 

Metod 3: Använder sig av iloc[] fungera av DataFrame.

Python3




# import pandas package as pd> 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 : '> , df)> print> (> ' Iterating over rows using iloc function : '> )> # iterate through each row and select> # 0th and 2nd index column respectively.> for> i> in> range> (> len> (df)):> > print> (df.iloc[i,> 0> ], df.iloc[i,> 2> ])>

Produktion:

Given Dataframe :  Name Age Stream Percentage 0 Ankit 21 Math 88 1 Amit 19 Commerce 92 2 Aishwarya 20 Arts 95 3 Priyanka 18 Biology 70  Iterating over rows using iloc function :  Ankit Math Amit Commerce Aishwarya Arts Priyanka Biology ​ 

Metod 4: Använder sig av iterrows() metod av dataramen.

Python3




# import pandas package as pd> 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 : '> , df)> print> (> ' Iterating over rows using iterrows() method : '> )> # iterate through each row and select> # 'Name' and 'Age' column respectively.> for> index, row> in> df.iterrows():> > print> (row[> 'Name'> ], row[> 'Age'> ])>

Produktion:

Given Dataframe :  Name Age Stream Percentage 0 Ankit 21 Math 88 1 Amit 19 Commerce 92 2 Aishwarya 20 Arts 95 3 Priyanka 18 Biology 70  Iterating over rows using iterrows() method :  Ankit 21 Amit 19 Aishwarya 20 Priyanka 18 

Metod 5: Använder sig av itertuples() metod för dataramen.

Python3




# import pandas package as pd> 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 : '> , df)> print> (> ' Iterating over rows using itertuples() method : '> )> # iterate through each row and select> # 'Name' and 'Percentage' column respectively.> for> row> in> df.itertuples(index> => True> , name> => 'Pandas'> ):> > print> (> getattr> (row,> 'Name'> ),> getattr> (row,> 'Percentage'> ))>

Produktion:

Given Dataframe :  Name Age Stream Percentage 0 Ankit 21 Math 88 1 Amit 19 Commerce 92 2 Aishwarya 20 Arts 95 3 Priyanka 18 Biology 70  Iterating over rows using itertuples() method :  Ankit 88 Amit 92 Aishwarya 95 Priyanka 70 ​ 

Metod 6: Använder sig av tillämpa() metod av dataramen.

Python3




# import pandas package as pd> 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 : '> , df)> print> (> ' Iterating over rows using apply function : '> )> # iterate through each row and concatenate> # 'Name' and 'Percentage' column respectively.> print> (df.> apply> (> lambda> row: row[> 'Name'> ]> +> ' '> +> > str> (row[> 'Percentage'> ]), axis> => 1> ))>

Produktion:

Given Dataframe :  Name Age Stream Percentage 0 Ankit 21 Math 88 1 Amit 19 Commerce 92 2 Aishwarya 20 Arts 95 3 Priyanka 18 Biology 70  Iterating over rows using apply function :  0 Ankit 88 1 Amit 92 2 Aishwarya 95 3 Priyanka 70 dtype: object