Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用Pandas筛选分隔变量_Python_Pandas_Filter - Fatal编程技术网

Python 如何使用Pandas筛选分隔变量

Python 如何使用Pandas筛选分隔变量,python,pandas,filter,Python,Pandas,Filter,我的输入数据框是 list_of_dicts1 = {"Filter":["c",'a|b']} test1 = pd.DataFrame(list_of_dicts1) list_of_dicts2 = {"C":["d",'a', 'b']} test2 = pd.DataFrame(list_of_dicts2) 所需输出为 list_of_dicts3 = {"C":['a', 'b']

我的输入数据框是

list_of_dicts1 = {"Filter":["c",'a|b']}
test1 = pd.DataFrame(list_of_dicts1)
list_of_dicts2 = {"C":["d",'a', 'b']}
test2 = pd.DataFrame(list_of_dicts2)
所需输出为

list_of_dicts3 = {"C":['a', 'b']}
test3 = pd.DataFrame(list_of_dicts3)
如何使用pandas根据test1数据帧的筛选列(以管道分隔)筛选数据帧test2?使用split和explode值通过以下方式拆分:

对于较旧版本:

df = test2[test2['C'].isin(test1['Filter'].str.split('|', expand=True).stack())]
print (df)

我认为应该将变量“a”和“b”分开,然后:

test3=test1[test1['Filter'].isin(test2['C'])]
test3=test1[test1['Filter'].isin(test2['C'])]