首页 > 解决方案 > 如何连接具有相似日期时间列的两个 dfs?

问题描述

我有两个具有相同日期时间列的 dfs。我想将列从一个 df 连接到另一个,跳过数据丢失的地方。我想为丢失的数据打印 NaN。

我尝试编写一个while循环来连接。它给出了这个错误:

ValueError:只能比较标签相同的系列对象

while df['TIMESTAMP'] == x['TIMESTAMP']:

    z = pd.concat([df,x],axis=1)

我希望连接两个 dfs,x 和 df。df 是完整的时间戳范围,x 有一些缺失值。我想将数据从 x 写入 df wrt datetime 列。为缺失值写入 NaN。

标签: pandasdataframeconcatenation

解决方案


当您连接数据框时,它会将一个添加到另一个的底部:

DF1:

A B C
1 2 5
2 5 3

DF2:

A D E
1 2 3
3 4 7

给定我的两个示例数据框,如果你连接你会得到

DF_Concat:
A B    C    D    E
1 2    5    NULL NULL
2 5    3    NULL NULL
1 NULL NULL 2    3
3 NULL NULL 4    7

而合并将返回

DF_Merge:
A B    C    D    E
1 2    5    2    3
2 5    3    NULL NULL
3 NULL NULL 4    7

在我看来,您正在寻找合并:

pd.merge(DF1, DF2, on='A')

推荐阅读