假设我有一个 pandas 数据框和一个字典,定义如下:
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
,但是对于我拥有的数据集的大小来说,这可能有点低效。
有什么建议吗?
最佳答案
尝试在数据框中转换 to_keep ,然后将其与原始数据合并,如 Compare Python Pandas DataFrames for matching rows 中所示
关于python - 对 pandas 数据框中相互依赖的多个参数进行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34338177/