熊猫:像系列中的列表中的“值”一样过滤

时间:2017-02-01 09:25:27

标签: python pandas series

例如,我们在名称中列出了每个单词的名称和哈希值:

data = [
  ['John Doe', ['JN','D0']],
  ['John Mitchel', ['JN','MTL']],
  ....
]
df = pd.DataFrame(data, columns=['name', 'hashes'])

是否可以通过单个哈希值过滤(搜索)。换句话说,例如,查找散列为“ JN ”的所有记录。

我尝试过类似的事情:

df.hashes[lambda x: 'JN' in x]

甚至:

df['JN' in df.hashes]

没有运气。

1 个答案:

答案 0 :(得分:2)

使用apply

data = [
  ['John Doe', ['JN','D0']],
  ['John Mitchel', ['JN','MTL']],
  ['John Doe1', ['AA','MTL']]
]
df = pd.DataFrame(data, columns=['name', 'hashes'])
print (df)
           name     hashes
0      John Doe   [JN, D0]
1  John Mitchel  [JN, MTL]
2     John Doe1  [AA, MTL]

print (df[df.hashes.apply(lambda x: 'JN' in x)])
           name     hashes
0      John Doe   [JN, D0]
1  John Mitchel  [JN, MTL]