logo

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



programa c per matriu bidimensional






# 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

java trencar el bucle


per cada java



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

travessa postordre de l'arbre binari
>

>

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


connectar java amb mysql



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