根据与其他数据框的差异删除数据框的行

时间:2019-07-19 13:55:41

标签: python-3.x pandas

我使用4种不同的模型分析了1000个观察值。这些模型的结果存储在4个数据框中,如下所示:

What's Remaining

与其他两个类似(数据帧中实际上还有更多参数)。

“ observation_id”将模型的结果与观察值唯一地匹配。因此,observation_id为0会给出该特定观察的四个模型的结果。

问题在于建模数据中存在空白。 model_1可能缺少观测值id 45,model_3可能缺少观测值721。

如何创建四个仅包含与所有4个数据集共有的observation_id相关的结果的新数据框?

1 个答案:

答案 0 :(得分:0)

这是将mergehow='left'一起使用的一种方式

from functools import reduce
p1 = reduce(lambda left,right: pd.merge(left,right,on='observation_id',how='left'), [df1,df2,df3,df4])

如果您只想要一个df而不是四个

from functools import reduce
df = reduce(lambda left,right: pd.merge(left,right,on='observation_id',how='inner'), [df1,df2,df3,df4])