Diferents maneres d'iterar sobre files a Pandas Dataframe
En aquest article, tractarem com iterar sobre files en un DataFrame a Pandas .
Com iterar sobre files en un DataFrame a Pandas
Python és un llenguatge fantàstic per fer anàlisi de dades, principalment a causa del fantàstic ecosistema de paquets Python centrats en dades. Pandes és un d'aquests paquets i facilita molt la importació i l'anàlisi de dades.
Vegem les diferents maneres d'iterar per files a Pandas Marc de dades :
Mètode 1: utilitzant l'atribut index del Dataframe.
Python 3
# 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])> |
Sortida:
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
Mètode 2: Utilitzant lloc[] funció del Dataframe.
Python 3
# 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'> ])> |
Sortida:
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
Mètode 3: Utilitzant iloc[] funció del DataFrame.
Python 3
# 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> ])> |
Sortida:
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
Mètode 4: Utilitzant iterfiles() mètode del Dataframe.
Python 3
# 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'> ])> |
Sortida:
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
Mètode 5: Utilitzant itertuples () mètode del Dataframe.
Python 3
# 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'> ))> |
Sortida:
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
Mètode 6: Utilitzant aplicar () mètode del Dataframe.
Python 3
# 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> ))> |
Sortida:
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