说我有一个熊猫数据帧和字典如下定义:索引上,在大熊猫数据帧相依为命多个参数
import pandas as pd df = pd.DataFrame({ "c1": np.array(['a','a','b','b','a']) , "c2" : np.array([1,2,2,2,2])})
c1 c2
0 a 1
1 a 2
2 b 2
3 b 2
4 a 2
to_keep = {'a':[1],'b':[2,3]}
{'a': [1], 'b': [2, 3]}
我想保留这些元素其中键和to_keep
的价值之一是真实的。换句话说,我希望得到以下数据框:
c1 c2
0 a 1
2 b 2
3 b 2
我已经尝试了很多东西,比如df[(df["c1"] in to_keep.keys) and df["c2"] in to_keep["c1"]]
,但事情是我不能正确的参数传递给to_keep字典能得到相应的价值。我曾经想过做的c1
和c2
所有可能的组合的名单,但可能是有点低效率的关于数据集的大小我有。
有什么建议吗?
看起来不错。但它(最)效率高吗?如果'a'和'b'的组合数量非常大? – Guido