Estoy un poco atascado en la extracción de valor de un condicionamiento variable en otra variable. Por ejemplo, el siguiente marco de datos:
A B
p1 1
p1 2
p3 3
p2 4
¿Cómo puedo obtener el valor de A
cuándo B=3
? Cada vez que extraje el valor de A
, obtengo un objeto, no una cadena.
item()
al final.df.query
ypd.eval
parecen buenos ajustes para este caso de uso. Para obtener información sobre lapd.eval()
familia de funciones, sus características y casos de uso, visite Evaluación de expresión dinámica en pandas usando pd.eval () .Respuestas:
Puede usar
loc
para obtener series que satisfagan su condición y luegoiloc
obtener el primer elemento:fuente
df.loc[df['B'] == 3, 'A'].item()
también funciona para mí.Puedes probar
query
, que es menos escribir:fuente
df[df['B']==3]['A']
, asumiendo que df es su pandas.DataFrame.fuente
][
parte.Úselo
df[df['B']==3]['A'].values
si solo desea el artículo en sí sin los corchetesfuente
][
parte.[0]
al final para acceder al valor.También he trabajado en esta cláusula y operaciones de extracción para mi asignación.
fuente