我是大熊猫的新手,并且有一个关于Python Panda包的快速而愚蠢的问题:如何从数据框中提取特定值?
数据框的结构如下:
id ba_ntr
0 1 PRF
1 2 PUF
.....
3898 3444 PRF
然后我使用以下代码来提取特定值:
list(df[df['id'] == 25]['ba_ntr']) == ['PUF']
在上面的代码中,我试图:
id
的值为25的行。所有
id
中的值是唯一的但不是连续的 - 其中一个原因
我没有使用索引。id
中的所有值都是唯一的,df[df['id'] == 25]
应该是ba_ntr
返回一行,然后我需要知道列df[df['id'] == 25]['ba_ntr']
的值
在那条线上。list()
将返回一个熊猫系列,我
使用['PUF']
将系列转换为列表,并与另一个进行比较
列出{{1}}。非常感谢您节省我的时间和生命!
答案 0 :(得分:0)
如果您的id
列确实是唯一的,为什么不将它用作索引? (不要求索引是连续的)
df.set_index('id', drop=True, inplace=True)
# or, if you don't want to mangle the existing data frame
# df_reindexed = df.set_index('id', drop=True)
is_puf = df.loc[25, 'ba_ntr'] == 'PUF'