首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据与其他数据格式的差异删除数据行

根据与其他数据格式的差异删除数据行
EN

Stack Overflow用户
提问于 2019-07-19 13:55:41
回答 1查看 39关注 0票数 0

我有1000个观察,我已经用4个不同的模型进行了分析。这些模型的结果存储在4个数据帧中,如下所示:

代码语言:javascript
复制
import pandas as pd

model_1 = pd.DataFrame(data={"observation_id": [0, 1, ..., 1000], 
                             "param_1": [0, 4, ..., 2]})

model_2 = pd.DataFrame(data={"observation_id": [0, 2, ..., 1000], 
                             "param_1": [1, 3, ..., 1]})

同样,对于另外两个数据帧(实际上数据帧中还有更多的参数)。

"observation_id“唯一地将模型的结果与观察结果相匹配。因此,observation_id =0给出了这四个模型的结果。

问题是,建模的数据中存在空白。model_1可能缺少observation_id 45,model_3可能缺少observation_id 721。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-19 14:00:24

下面是使用mergehow='left'的一种方法

代码语言:javascript
复制
from functools import reduce
p1 = reduce(lambda left,right: pd.merge(left,right,on='observation_id',how='left'), [df1,df2,df3,df4])

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

代码语言:javascript
复制
from functools import reduce
df = reduce(lambda left,right: pd.merge(left,right,on='observation_id',how='inner'), [df1,df2,df3,df4])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57114016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档