例如,我们有一个名称列表和名称中每个单词的哈希值:
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]
而且没有运气。
使用 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]