Różne sposoby iteracji po wierszach w ramce danych Pandas

W tym artykule omówimy jak iterować po wierszach w ramce danych w Pandach .

Jak iterować po wierszach w ramce danych w Pandach

Python to świetny język do analizy danych, przede wszystkim ze względu na fantastyczny ekosystem pakietów Pythona zorientowanych na dane. Pandy jest jednym z takich pakietów i znacznie ułatwia importowanie i analizowanie danych.

Zobaczmy różne sposoby iteracji po wierszach w Pandach Ramka danych :

Metoda 1: Użycie atrybutu indeksu ramki danych.

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])>

Wyjście:

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 

Metoda 2: Za pomocą miejsce[] funkcjonować ramki danych.

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'> ])>

Wyjście:

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 

Metoda 3: Za pomocą I loc[] funkcjonować ramki danych.

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> ])>

Wyjście:

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 ​ 

Metoda 4: Za pomocą iterrows() metoda ramki danych.

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'> ])>

Wyjście:

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 

Metoda 5: Za pomocą itertuple() metoda ramki danych.

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'> ))>

Wyjście:

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 ​ 

Metoda 6: Za pomocą stosować() metoda ramki danych.

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> ))>

Wyjście:

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