¿Cómo obtener un valor de una celda de un marco de datos?
He construido una condición que extrae exactamente una fila de mi marco de datos:
d2 = df[(df['l_ext']==l_ext) & (df['item']==item) & (df['wn']==wn) & (df['wd']==1)]
Ahora me gustaría tomar un valor de una columna en particular:
val = d2['col_name']
Pero como resultado obtengo un marco de datos que contiene una fila y una columna (es decir una celda). No es lo que necesito. Necesito un valor (un número flotante). ¿Cómo puedo hacerlo en pandas?
289
3
Si tienes un DataFrame con una sola fila, entonces accede a la primera (única) fila como una Serie usando
iloc
, y luego al valor usando el nombre de la columna:Son accesos rápidos para escalares
Parece que los cambios después de pandas 10.1/13.1
He actualizado de 10.1 a 13.1, antes de iloc no está disponible.
Ahora con 13.1,
iloc[0]['label']
obtiene un array de un solo valor en lugar de un escalar.Así:
Salida: