我有3个词典: A,B,C
以及包含以下列的pandas数据框:
['id',
't1',
't2',
't3',
't4']
现在我要做的只是保留那些t1存在于dict A中的行,t2存在于dict B中,而t3存在于dict C中
我在A中尝试过数据帧[' t1'] 这给出了一个错误:Series对象是可变的,不能被散列...
答案 0 :(得分:1)
你可以尝试这样的事情。
df.loc[(df['t1'].isin(A.keys()) & df['t2'].isin(B.keys()) & df['t3'].isin(C.keys()))]
我希望这就是你想要的。
In [51]: df
Out[51]:
t1 t2 t3 t4 max_value
0 1 4 5 2 5
1 34 70 1 5 70
2 43 89 4 11 89
3 22 76 4 3 76
In [52]: A = {34: 4}
In [53]: B = {70: 5, 89: 3}
In [54]: C = {1: 3, 5:1}
In [55]: df.loc[(df['t1'].isin(A.keys()) & df['t2'].isin(B.keys()) & df['t3'].isin(C.keys()))]
Out[55]:
t1 t2 t3 t4 max_value
1 34 70 1 5 70
要回答@EdChum,我假设OP想要检查字典键中是否存在值。