Método Pandas DataFrame.loc[]
Pandas DataFrame es una estructura de datos tabulares bidimensional, potencialmente heterogénea y de tamaño variable, con ejes etiquetados (filas y columnas). Las operaciones aritméticas se alinean en las etiquetas de filas y columnas. Se puede considerar como un contenedor tipo dictado para objetos Serie. Esta es la estructura de datos primaria del pandas .
Pandas DataFrame loc[] Sintaxis
pandas Marco de datos.loc El atributo accede a un grupo de filas y columnas por etiqueta(s) o una matriz booleana en el archivo dado. Marco de datos de Pandas .
Sintaxis: Marco de datos.loc
Parámetro: Ninguno
Devoluciones : Escalar, Serie, Marco de datos
Propiedad Pandas DataFrame loc
A continuación se muestran algunos ejemplos mediante los cuales podemos utilizar Pandas DataFrame loc[]:
Ejemplo 1: Seleccione una sola fila y columna por etiqueta usando loc[]
Utilice el atributo DataFrame.loc para acceder a una celda particular en el dado Marco de datos de Pandas utilizando las etiquetas de índice y columna. Luego seleccionamos una sola fila y columna por etiqueta usando loc[].
Python3
# importing pandas as pd> import> pandas as pd> # Creating the DataFrame> df> => pd.DataFrame({> 'Weight'> : [> 45> ,> 88> ,> 56> ,> 15> ,> 71> ],> > 'Name'> : [> 'Sam'> ,> 'Andrea'> ,> 'Alex'> ,> 'Robin'> ,> 'Kia'> ],> > 'Age'> : [> 14> ,> 25> ,> 55> ,> 8> ,> 21> ]})> # Create the index> index_> => [> 'Row_1'> ,> 'Row_2'> ,> 'Row_3'> ,> 'Row_4'> ,> 'Row_5'> ]> # Set the index> df.index> => index_> # Print the DataFrame> print> (> 'Original DataFrame:'> )> print> (df)> # Corrected selection using loc for a specific cell> result> => df.loc[> 'Row_2'> ,> 'Name'> ]> # Print the result> print> (> '
Selected Value at Row_2, Column 'Name':'> )> print> (result)> |
Producción
Original DataFrame: Weight Name Age Row_1 45 Sam 14 Row_2 88 Andrea 25 Row_3 56 Alex 55 Row_4 15 Robin 8 Row_5 71 Kia 21 Selected Value at Row_2, Column 'Name': Andrea
Ejemplo 2: Seleccione varias filas y columnas
Utilice el atributo DataFrame.loc para devolver dos de las columnas en el marco de datos dado y luego seleccione varias filas y columnas como se hace en el siguiente ejemplo.
Python3
# importing pandas as pd> import> pandas as pd> # Creating the DataFrame> df> => pd.DataFrame({> 'A'> :[> 12> ,> 4> ,> 5> ,> None> ,> 1> ],> > 'B'> :[> 7> ,> 2> ,> 54> ,> 3> ,> None> ],> > 'C'> :[> 20> ,> 16> ,> 11> ,> 3> ,> 8> ],> > 'D'> :[> 14> ,> 3> ,> None> ,> 2> ,> 6> ]})> # Create the index> index_> => [> 'Row_1'> ,> 'Row_2'> ,> 'Row_3'> ,> 'Row_4'> ,> 'Row_5'> ]> # Set the index> df.index> => index_> # Print the DataFrame> print> (> 'Original DataFrame:'> )> print> (df)> # Corrected column names ('A' and 'D') in the result> result> => df.loc[:, [> 'A'> ,> 'D'> ]]> # Print the result> print> (> '
Selected Columns 'A' and 'D':'> )> print> (result)> |
Producción
Original DataFrame: A B C D Row_1 12.0 7 20 14.0 Row_2 4.0 2 16 3.0 Row_3 5.0 54 11 NaN Row_4 NaN 3 3 2.0 Row_5 1.0 NaN 8 6.0 Selected Columns 'A' and 'D': A D Row_1 12.0 14.0 Row_2 4.0 3.0 Row_3 5.0 NaN Row_4 NaN 2.0 Row_5 1.0 6.0
Ejemplo 3: seleccionar entre dos filas o columnas
En este ejemplo, creamos un DataFrame de pandas llamado 'df', establecemos índices de fila personalizados y luego usamos el loc> descriptor de acceso para seleccionar filas entre 'Fila_2' y 'Fila_4' inclusive y las columnas 'B' a 'D'. Se imprimen las filas y columnas seleccionadas, lo que demuestra el uso de la indexación basada en etiquetas con loc> .
Python3
# importing pandas as pd> import> pandas as pd> # Creating the DataFrame> df> => pd.DataFrame({> 'A'> : [> 12> ,> 4> ,> 5> ,> None> ,> 1> ],> > 'B'> : [> 7> ,> 2> ,> 54> ,> 3> ,> None> ],> > 'C'> : [> 20> ,> 16> ,> 11> ,> 3> ,> 8> ],> > 'D'> : [> 14> ,> 3> ,> None> ,> 2> ,> 6> ]})> # Create the index> index_> => [> 'Row_1'> ,> 'Row_2'> ,> 'Row_3'> ,> 'Row_4'> ,> 'Row_5'> ]> # Set the index> df.index> => index_> # Print the original DataFrame> print> (> 'Original DataFrame:'> )> print> (df)> # Select Rows Between 'Row_2' and 'Row_4'> selected_rows> => df.loc[> 'Row_2'> :> 'Row_4'> ]> print> (> '
Selected Rows:'> )> print> (selected_rows)> # Select Columns 'B' through 'D'> selected_columns> => df.loc[:,> 'B'> :> 'D'> ]> print> (> '
Selected Columns:'> )> print> (selected_columns)> |
Producción
Original DataFrame: A B C D Row_1 12.0 7 20 14.0 Row_2 4.0 2 16 3.0 Row_3 5.0 54 11 NaN Row_4 NaN 3 3 2.0 Row_5 1.0 NaN 8 6.0 Selected Rows: A B C D Row_2 4 2 16 3.0 Row_3 5 54 11 NaN Row_4 NaN 3 3 2.0 Selected Columns: B C D Row_1 7 20 14.0 Row_2 2 16 3.0 Row_3 54 11 NaN Row_4 3 3 2.0 Row_5 NaN 8 6.0
Ejemplo 4: seleccionar filas o columnas alternativas
En este ejemplo, creamos un DataFrame de pandas llamado 'df', establecemos índices de fila personalizados y luego usamos el iloc> descriptor de acceso para seleccionar filas alternativas (cada segunda fila) y columnas alternativas (cada segunda columna). Las selecciones resultantes se imprimen, mostrando el uso de indexación basada en números enteros con iloc> .
Python3
# importing pandas as pd> import> pandas as pd> # Creating the DataFrame> df> => pd.DataFrame({> 'A'> : [> 12> ,> 4> ,> 5> ,> None> ,> 1> ],> > 'B'> : [> 7> ,> 2> ,> 54> ,> 3> ,> None> ],> > 'C'> : [> 20> ,> 16> ,> 11> ,> 3> ,> 8> ],> > 'D'> : [> 14> ,> 3> ,> None> ,> 2> ,> 6> ]})> # Create the index> index_> => [> 'Row_1'> ,> 'Row_2'> ,> 'Row_3'> ,> 'Row_4'> ,> 'Row_5'> ]> # Set the index> df.index> => index_> # Print the original DataFrame> print> (> 'Original DataFrame:'> )> print> (df)> # Select Alternate Rows> alternate_rows> => df.iloc[::> 2> ]> print> (> '
Alternate Rows:'> )> print> (alternate_rows)> # Select Alternate Columns> alternate_columns> => df.iloc[:, ::> 2> ]> print> (> '
Alternate Columns:'> )> print> (alternate_columns)> |
Producción
Original DataFrame: A B C D Row_1 12.0 7 20 14.0 Row_2 4.0 2 16 3.0 Row_3 5.0 54 11 NaN Row_4 NaN 3 3 2.0 Row_5 1.0 NaN 8 6.0 Alternate Rows: A B C D Row_1 12.0 7 20 14.0 Row_3 5.0 54 11 NaN Row_5 1.0 NaN 8 6.0 Alternate Columns: A C Row_1 12.0 20 Row_2 4.0 16 Row_3 5.0 11 Row_4 NaN 3 Row_5 1.0 8
Ejemplo 5: uso de condiciones con Pandas loc
En este ejemplo, estamos creando un DataFrame de pandas llamado 'df', establece índices de fila personalizados y utiliza el loc> descriptor de acceso para seleccionar filas según las condiciones. Demuestra cómo seleccionar filas donde la columna 'A' tiene valores superiores a 5 y seleccionar filas donde la columna 'B' no es nula. Las selecciones resultantes luego se imprimen, mostrando el uso de filtrado condicional con loc> .
Python3
# importing pandas as pd> import> pandas as pd> # Creating the DataFrame> df> => pd.DataFrame({> 'A'> : [> 12> ,> 4> ,> 5> ,> None> ,> 1> ],> > 'B'> : [> 7> ,> 2> ,> 54> ,> 3> ,> None> ],> > 'C'> : [> 20> ,> 16> ,> 11> ,> 3> ,> 8> ],> > 'D'> : [> 14> ,> 3> ,> None> ,> 2> ,> 6> ]})> # Create the index> index_> => [> 'Row_1'> ,> 'Row_2'> ,> 'Row_3'> ,> 'Row_4'> ,> 'Row_5'> ]> # Set the index> df.index> => index_> # Print the original DataFrame> print> (> 'Original DataFrame:'> )> print> (df)> # Using Conditions with loc> # Example: Select rows where column 'A' is greater than 5> selected_rows> => df.loc[df[> 'A'> ]>> 5> ]> print> (> '
Rows where column 'A' is greater than 5:'> )> print> (selected_rows)> # Example: Select rows where column 'B' is not null> non_null_rows> => df.loc[df[> 'B'> ].notnull()]> print> (> '
Rows where column 'B' is not null:'> )> print> (non_null_rows)> |
Producción
Original DataFrame: A B C D Row_1 12.0 7 20 14.0 Row_2 4.0 2 16 3.0 Row_3 5.0 54 11 NaN Row_4 NaN 3 3 2.0 Row_5 1.0 NaN 8 6.0 Rows where column 'A' is greater than 5: A B C D Row_1 12.0 7 20 14.0 Row_3 5.0 54 11 NaN Rows where column 'B' is not null: A B C D Row_1 12.0 7 20 14.0 Row_2 4.0 2 16 3.0 Row_3 5.0 54 11 NaN Row_4 NaN 3 3 2.0