Indexación y selección de datos con Pandas

Indexación en Pandas: La
indexación en pandas significa simplemente seleccionar filas y columnas particulares de datos de un DataFrame. Indexar podría significar seleccionar todas las filas y algunas de las columnas, algunas de las filas y todas las columnas, o algunas de cada una de las filas y columnas. La indexación también se conoce como selección de subconjuntos .

Veamos algún ejemplo de indexación en Pandas. En este artículo, estamos usando nba.csvel archivo “ ” para descargar el CSV, haga clic aquí .

Seleccionar algunas filas y algunas columnas

Tomemos un DataFrame con algunos datos falsos, ahora realizamos la indexación en este DataFrame. En esto, estamos seleccionando algunas filas y algunas columnas de un DataFrame. Marco de datos con conjunto de datos.

Supongamos que queremos seleccionar columnas Age, Collegey Salarysolo para filas con etiquetas Amir Johnsony Terry Rozier

nuestro marco de datos final se vería así:

Seleccionar algunas filas y todas las columnas

Digamos que queremos seleccionar la fila Amir Jhonsony Terry Roziercon John Hollandtodas las columnas en un marco de datos.

Nuestro DataFrame final se vería así:

Seleccionar algunas columnas y todas las filas

Digamos que queremos seleccionar las columnas Edad, Altura y Salario con todas las filas en un marco de datos.

Nuestro DataFrame final se vería así:

 

Indexación de pandas usando [ ], .loc[], .iloc[ ],.ix[ ]

Hay muchas formas de extraer elementos, filas y columnas de un DataFrame. Hay algún método de indexación en Pandas que ayuda a obtener un elemento de un DataFrame. Estos métodos de indexación parecen muy similares pero se comportan de manera muy diferente. Pandas admite cuatro tipos de indexación de ejes múltiples:

  • Marco de datos.[ ] ; Esta función también conocida como operador de indexación
  • Dataframe.loc[ ] : esta función se usa para etiquetas.
  • Dataframe.iloc[ ] : esta función se usa para posiciones o números enteros
  • Dataframe.ix[] : esta función se usa tanto para etiquetas como para números enteros

En conjunto, se denominan indexadores . Estas son, con mucho, las formas más comunes de indexar datos. Estas son cuatro funciones que ayudan a obtener los elementos, filas y columnas de un DataFrame.
 
Indexación de un marco de datos usando el operador de indexación []:
el operador de indexación se usa para referirse a los corchetes que siguen a un objeto. Los indexadores .locy también usan el operador de indexación para hacer selecciones. .ilocEn este operador de indexación para referirse a df[].

Selección de una sola columna

Para seleccionar una sola columna, simplemente ponemos el nombre de la columna entre corchetes

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving columns by indexing operator
first = data["Age"]
  
  
  
print(first)

Producción:

Selección de varias columnas

Para seleccionar varias columnas, tenemos que pasar una lista de columnas en un operador de indexación.

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving multiple columns by indexing operator
first = data[["Age", "College", "Salary"]]
  
  
  
first

Salida:

 
indexación de un marco de datos usando .loc[ ]:
esta función selecciona datos por la etiqueta de las filas y columnas. El df.locindexador selecciona los datos de una manera diferente a la del operador de indexación. Puede seleccionar subconjuntos de filas o columnas. También puede seleccionar simultáneamente subconjuntos de filas y columnas.

Selección de una sola fila

Para seleccionar una sola fila usando .loc[], colocamos una etiqueta de fila única en una .locfunción.

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving row by loc method
first = data.loc["Avery Bradley"]
second = data.loc["R.J. Hunter"]
  
  
print(first, "\n\n\n", second)

Salida:
como se muestra en la imagen de salida, se devolvieron dos series ya que solo había un parámetro en ambas ocasiones.

 

Selección de varias filas

Para seleccionar varias filas, colocamos todas las etiquetas de las filas en una lista y las pasamos a la .locfunción.

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving multiple rows by loc method
first = data.loc[["Avery Bradley", "R.J. Hunter"]]
  
  
  
print(first)

Producción:

 

Selección de dos filas y tres columnas

Para seleccionar dos filas y tres columnas, seleccionamos dos filas que queremos seleccionar y tres columnas y las colocamos en una lista separada como esta:

Dataframe.loc[["row1", "row2"], ["column1", "column2", "column3"]]
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving two rows and three columns by loc method
first = data.loc[["Avery Bradley", "R.J. Hunter"],
                   ["Team", "Number", "Position"]]
  
  
  
print(first)

Producción:

 

Seleccionar todas las filas y algunas columnas

Para seleccionar todas las filas y algunas columnas, usamos dos puntos [:] para seleccionar todas las filas y la lista de algunas columnas que queremos seleccionar así:

Dataframe.loc[:, ["column1", "column2", "column3"]]
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
# retrieving all rows and some columns by loc method
first = data.loc[:, ["Team", "Number", "Position"]]
  
  
  
print(first)

Salida:

 
indexación de un marco de datos usando .iloc[ ]:
esta función nos permite recuperar filas y columnas por posición. Para hacer eso, necesitaremos especificar las posiciones de las filas que queremos, y las posiciones de las columnas que queremos también. El df.iloc indexador es muy similar a df.loc pero solo usa ubicaciones enteras para hacer sus selecciones.

Selección de una sola fila

Para seleccionar una sola fila usando .iloc[], podemos pasar un solo entero a la .iloc[]función.

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
  
# retrieving rows by iloc method 
row2 = data.iloc[3] 
  
  
  
print(row2)

Producción:

 

Selección de varias filas

Para seleccionar varias filas, podemos pasar una lista de enteros a la .iloc[]función.

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
  
# retrieving multiple rows by iloc method 
row2 = data.iloc [[3, 5, 7]]
  
  
  
row2

Producción:

 

Selección de dos filas y dos columnas

Para seleccionar dos filas y dos columnas, creamos una lista de 2 enteros para filas y una lista de 2 enteros para columnas y luego pasamos a una .iloc[]función.

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
  
# retrieving two rows and two columns by iloc method 
row2 = data.iloc [[3, 4], [1, 2]]
  
  
  
print(row2)

Producción:

 

Seleccionando todas las filas y algunas columnas

Para seleccionar todas las filas y algunas columnas, usamos dos puntos [:] para seleccionar todas las filas y para las columnas hacemos una lista de enteros y luego pasamos a una .iloc[]función.

import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
  
  
# retrieving all rows and some columns by iloc method 
row2 = data.iloc [:, [1, 2]]
  
  
  
print(row2)

Salida:

 
Indexación de un usando Dataframe.ix[ ] :
Al principio del desarrollo de pandas, existía otro indexador, ix. Este indexador fue capaz de seleccionar tanto por etiqueta como por ubicación de enteros. Si bien era versátil, causó mucha confusión porque no es explícito. A veces, los números enteros también pueden ser etiquetas para filas o columnas. Por lo tanto, hubo casos en los que fue ambiguo. Por lo general, ixse basa en etiquetas y actúa como el indexador de .loc . Sin embargo, .ixtambién admite selecciones de tipo entero (como en .iloc) donde se pasa un número entero. Esto solo funciona cuando el índice de DataFrame no está basado en números enteros .ixy aceptará cualquiera de las entradas de .locy .iloc.
Nota: El .ixindexer ha quedado obsoleto en versiones recientes de Pandas.

Seleccionando una sola fila usando .ix[]como.loc[]

Para seleccionar una sola fila, colocamos una etiqueta de fila única en una .ixfunción. Esta función actúa de manera similar a .loc[] si pasamos una etiqueta de fila como argumento de una función.

# importing pandas package
import pandas as pd
   
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
   
# retrieving row by ix method
first = data.ix["Avery Bradley"]
  
   
   
print(first)
  

Producción:

Seleccionando una sola fila usando .ix[]como.iloc[]

Para seleccionar una sola fila, podemos pasar un solo entero a la .ix[]función. Esta función es similar a una función iloc[] si pasamos un número entero en una .ix[]función.

# importing pandas package
import pandas as pd
   
# making data frame from csv file
data = pd.read_csv("nba.csv", index_col ="Name")
   
# retrieving row by ix method
first = data.ix[1]
  
   
   
print(first)

Producción:

 

Métodos para indexar en DataFrame

Función Descripción
Marco de datos.head() Devuelve las nfilas superiores de un marco de datos.
Marco de datos.tail() Devuelve nlas filas inferiores de un marco de datos.
Marco de datos.at[] Acceda a un solo valor para un par de etiquetas de fila/columna.
Marco de datos.iat[] Acceda a un valor único para un par de filas/columnas por posición de número entero.
Marco de datos.tail() Indexación puramente basada en la ubicación de enteros para la selección por posición.
Marco de datos.búsqueda() Función de «indexación elegante» basada en etiquetas para DataFrame.
Marco de datos.pop() Devuelva el artículo y suéltelo del marco.
Marco de datos.xs() Devuelve una sección transversal (fila(s) o columna(s)) del DataFrame.
Marco de datos.get() Obtenga el elemento del objeto para la clave dada (columna DataFrame, sector del panel, etc.).
Marco de datos.isin() Retorna el DataFrame booleano que muestra si cada elemento del DataFrame está contenido en valores.
Marco de datos.where() Devuelve un objeto de la misma forma que self y cuyas entradas correspondientes son de self donde cond es True y de lo contrario son de other.
Marco de datos.mask() Devuelve un objeto de la misma forma que self y cuyas entradas correspondientes son de self donde cond es False y de lo contrario son de other.
Marco de datos.consulta() Consulta las columnas de un marco con una expresión booleana.
Marco de datos.insertar() Inserte la columna en DataFrame en la ubicación especificada.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *