Cómo obtener un valor de una celda de un Pandas DataFrame
-
ilocpara obtener el valor de una celda de un PandasDataFrame -
iatyatpara 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