Cómo obtener un valor de una celda de un Pandas DataFrame
-
iloc
para obtener el valor de una celda de un PandasDataFrame
-
iat
yat
para obtener el valor de una celda de un PandasDataFrame
-
df['col_name'].values[]
para obtener el valor de una celda de un dataframe de Pandas
Introduciremos métodos para obtener el valor de una celda en el Pandas DataFrame
. Incluyen iloc
y iat
. ['col_name'].values[]
también es una solución, especialmente si no queremos obtener el tipo de retorno como pandas.Series
.
iloc
para obtener el valor de una celda de un Pandas DataFrame
iloc
es la forma más eficiente de obtener un valor de la célula de un Pandas DataFrame
. Digamos que tenemos un DataFrame
con los nombres de las columnas price
y stock
, y queremos obtener un valor de la tercera fila para comprobar el precio y la disponibilidad de stock.
Primero, necesitamos acceder a las filas y luego al valor usando el nombre de la columna.
Códigos de ejemplo:
# python 3.x
import pandas as pd
df = pd.DataFrame(
{
"name": ["orange", "banana", "lemon", "mango", "apple"],
"price": [2, 3, 7, 21, 11],
"stock": ["Yes", "No", "Yes", "No", "Yes"],
}
)
print(df.iloc[2]["price"])
print(df.iloc[2]["stock"])
Producción :
7
Yes
iloc
obtiene filas (o columnas) en posiciones particulares del índice. Por eso sólo toma un entero como argumento. Y loc
obtiene filas (o columnas) con etiquetas particulares del índice.
iat
y at
para obtener el valor de una celda de un Pandas DataFrame
iat
y at
son accesos rápidos para que los escalares obtengan valor
de una célula de un Pandas DataFrame
.
Códigos de ejemplo:
# python 3.x
import pandas as pd
df = pd.DataFrame(
{
"name": ["orange", "banana", "lemon", "mango", "apple"],
"price": [2, 3, 7, 21, 11],
"stock": ["Yes", "No", "Yes", "No", "Yes"],
}
)
print(df.iat[0, 0])
print(df.at[1, "stock"])
Producción :
orange
No
Para obtener la última entrada de la fila usaremos at[df.index[-1],'stock']
.
Códigos de ejemplo:
# python 3.x
import pandas as pd
df = pd.DataFrame(
{
"name": ["orange", "banana", "lemon", "mango", "apple"],
"price": [2, 3, 7, 21, 11],
"stock": ["Yes", "No", "Yes", "No", "Yes"],
}
)
print(df.at[df.index[-1], "stock"])
Producción :
Yes
df['col_name'].values[]
para obtener el valor de una celda de un dataframe de Pandas
df['col_name'].values[]
primero convertirá la columna datafarme
en un array 1-D y luego accederá al valor en índice de esa array:
Códigos de ejemplo:
# python 3.x
import pandas as pd
df = pd.DataFrame(
{
"name": ["orange", "banana", "lemon", "mango", "apple"],
"price": [2, 3, 7, 21, 11],
"stock": ["Yes", "No", "Yes", "No", "Yes"],
}
)
print(df["stock"].values[0])
Producción :
Yes
No devuelve un pandas.Series
, y es el más simple de usar.
Artículo relacionado - Pandas DataFrame
- Cómo obtener las cabeceras de columna de Pandas DataFrame como una lista
- Cómo borrar la columna de Pandas DataFrame
- Cómo convertir la columna del DataFrame a Datetime en Pandas
- Cómo convertir un float en un entero en Pandas DataFrame
- Cómo clasificar Pandas DataFrame por los valores de una columna
- Cómo obtener el agregado de Pandas grupo por y suma