pandas - 如何连接具有相似日期时间列的两个 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。
解决方案
当您连接数据框时,它会将一个添加到另一个的底部:
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')
推荐阅读
- python - Python - 在每个 X 插入表后添加空闲时间(使用 API)
- laravel - 多个where子句,Laravel
- sql - ora 00920 неверный реляционный оператор
- c++ - C ++“在非成员函数中无效使用'this'”,
- html - 如何将容器/框添加到我的固定侧边栏以具有像菜单一样的结构
- node.js - 需要一个 mongodb 数据库模型设计。是选择 Refs 还是 Embeded doc
- sql - sql to dplyr - 嵌套选择语句
- python - 根据 if 和 else 规则创建新的 pandas 列
- java - 在 Java 中检索 Json 数据
- python - 如何在 Python 中将信息与生成器的结尾一起传递?引发 StopIteration(myobj) 未被捕获