基于另一列pandas datafram提取列值

2024-04-26 03:00:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有点被困在提取一个变量对另一个变量的价值条件。例如,以下数据帧:

A  B
p1 1
p1 2
p3 3
p2 4

B=3时,如何获取A的值?每次我提取A的值时,都得到一个对象,而不是字符串。


Tags: 数据对象字符串条件价值p2p3p1
3条回答

您可以尝试query,这是较少键入的:

df.query('B==3')['A']

可以使用^{}获得满足条件的序列,然后使用^{}获得第一个元素:

In [2]: df
Out[2]:
    A  B
0  p1  1
1  p1  2
2  p3  3
3  p2  4

In [3]: df.loc[df['B'] == 3, 'A']
Out[3]:
2    p3
Name: A, dtype: object

In [4]: df.loc[df['B'] == 3, 'A'].iloc[0]
Out[4]: 'p3'

df[df['B']==3]['A'],假设df是pandas.DataFrame。

相关问题 更多 >