Estou meio que preso em extrair valor de uma variável condicionando em outra variável. Por exemplo, o seguinte dataframe:
A B
p1 1
p1 2
p3 3
p2 4
Como posso obter o valor de A
quando B=3
? Sempre que extraí o valor de A
, obtive um objeto, não uma string.
item()
no final.df.query
epd.eval
parecem adequados para esse caso de uso. Para obter informações sobre apd.eval()
família de funções, seus recursos e casos de uso, visite Avaliação de Expressão Dinâmica em pandas usando pd.eval () .Respostas:
Você pode usar
loc
para obter séries que satisfaçam sua condição e, em seguida,iloc
obter o primeiro elemento:fonte
df.loc[df['B'] == 3, 'A'].item()
funciona para mim também.Você pode tentar
query
, o que é menos digitar:fonte
df[df['B']==3]['A']
, presumindo que df seja seu pandas.DataFrame.fonte
][
parte.Use
df[df['B']==3]['A'].values
se você quiser apenas o próprio item sem os colchetesfonte
][
parte.[0]
no final para acessar o valor.Também trabalhei nessas operações de clausura e extração para minha atribuição.
fonte