显示给定它的id的单元格的信息

时间:2017-05-18 09:17:52

标签: python csv pandas

我有一个用pandas处理的csv文件。

我有两列:idlabel

id             label
1656fdgfs       ok 
154685hgfhg45  hello

如果标签与其ID匹配,如何显示标签的值?

例如我给id= 1656fdgfs而不是打印ok

1 个答案:

答案 0 :(得分:2)

使用loc + boolean indexing,通过掩码返回Series所有值:

print (df['id'] == "1656fdgfs")
0     True
1    False
Name: id, dtype: bool

a = df.loc[df['id'] == "1656fdgfs", 'label']
print (a)
0    ok
Name: label, dtype: object

如果始终只返回一个项目(一个项目Series):

a = df.loc[df['id'] == "1656fdgfs", 'label'].values[0]
print (a)
ok
a = df.loc[df['id'] == "1656fdgfs", 'label'].item()
print (a)
ok

如果可能,有时不需要ifempty匹配:

a = df.loc[df['id'] == "1656fdgfs", 'label']
a = np.nan if a.empty else a.item()
print (a)
ok

a = df.loc[df['id'] == "y", 'label']
a = "No match!" if a.empty else a.item()
print (a)
No match!