Pandas:像这样过滤:"value" in list within Series
Pandas: Filter like: "value" in list within 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]
运气不好。
使用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]
例如,我们有一个名称列表和名称中每个单词的哈希值:
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]