Python 如何根据外部列表中的值筛选数据帧?
我有以下数据帧。我想将Python 如何根据外部列表中的值筛选数据帧?,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有以下数据帧。我想将a列中的每个逗号分隔值与values中的值进行比较,如果a列中存在任何一个值,则返回True。希望你能理解这个场景。谢谢 import pandas as pd values = ['value 1', 'value 2'] df = pd.DataFrame({'a': ['value 1', 'value 1, value 2', 'value 1, value 3', 'value 3', 'value 4', 'value 5']})
a
列中的每个逗号分隔值与values
中的值进行比较,如果a
列中存在任何一个值,则返回True
。希望你能理解这个场景。谢谢
import pandas as pd
values = ['value 1', 'value 2']
df = pd.DataFrame({'a': ['value 1', 'value 1, value 2', 'value 1, value 3', 'value 3', 'value 4', 'value 5']})
a
0 value 1
1 value 1, value 2
2 value 1, value 3
3 value 3
4 value 4
5 value 5
我希望这封信能被退回:
a
0 True
1 True
2 True
3 False
4 False
5 False
让我们用
any
df['b']=df.a.str.split(', ',expand=True).isin(values ).any(1)
df
Out[168]:
a b
0 value 1 True
1 value 1, value 2 True
2 value 1, value 3 True
3 value 3 False
4 value 4 False
5 value 5 False
expand=True的目的是什么?@UmarAftab将拆分行放入数据帧~~