【发布时间】:2021-11-13 19:24:42
【问题描述】:
我浏览了论坛,但仍然无法弄清楚。
如果第一个数据帧中不存在行,我会尝试从第二个数据帧中删除它们。该条件基于 r_id 列,其中该行中的 id 需要存在于第一个数据帧中。
我试过这个:
df2 = pd.merge(df2, df1[['r_id']] , on=['r_id'], how='inner')
但是,df2 中仍有一些行 (r_ids) 不在 df1 中。
df1 看起来像这样:
r_id tmp meds hr
4968 2 0 0
4968 2 0 0
4968 2 0 0
4968 2 0 0
4968 2 0 0
df2 看起来像这样:
r_id date
4968 02/08/2020
4968 02/08/2020
4968 02/08/2020
4968 31/10/2020
4968 31/10/2020
4968 31/10/2020
3245 20/12/2020
3245 20/12/2020
然而,df2 应该是这样的:
r_id date
4968 02/08/2020
4968 02/08/2020
4968 02/08/2020
4968 31/10/2020
4968 31/10/2020
4968 31/10/2020
知道该怎么做吗?
【问题讨论】:
-
两个 r_id 列中的 dtypes 是否相同?
标签: python pandas dataframe time-series