En este artículo, cubriremos cómo iterar sobre filas en un DataFrame en Pandas .
Cómo iterar sobre filas en un DataFrame en Pandas
Python es un gran lenguaje para realizar análisis de datos, principalmente debido al fantástico ecosistema de paquetes Python centrados en datos. pandas es uno de esos paquetes y facilita mucho la importación y el análisis de datos.
Veamos las diferentes formas de iterar sobre filas en Pandas. Marco de datos :
Método 1: utilizar el atributo de índice del marco de datos.
Python3
fondo de eliminación de gimp
# 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])> |
>
>
Producción:
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étodo 2: Usando lugar[] función del marco de datos.
Python3
valor de cadena
# 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'>])> |
>
>
Producción:
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étodo 3: Usando iloc[] función del marco de datos.
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>])> |
>
>
Producción:
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étodo 4: Usando iterrows() método del marco de datos.
Python3
java int como cadena
# 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'>])> |
>
>
Producción:
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étodo 5: Usando itertuplas() método del marco de datos.
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'>))> |
creación de matriz de cadenas en java
>
>
Producción:
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étodo 6: Usando aplicar() método del marco de datos.
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>))> |
: en java
>
>
Producción:
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>