pandas - Pandas 连接并合并两个数据框
问题描述
我有两个数据框,它们的列大多不同,但其中两列几乎相同,即框架和日期。
df_1
id FRAME var_1 date
1 10 15 3/4/16
2 12 69 3/5/17
df_2
id frame var_2 date_time
1 11 15 3/2/16 08:14:32
2 12 69 3/5/17 09:12:29
现在,我正在使用 pd.concat 作为df_3 = pd.concat([df_1, df_2], axis=0, ignore_index=True)
df_3
id FRAME var_1 date frame var_2 date_time
1 10 15 3/4/16 NaN NaN NaT
2 12 69 3/5/17 NaN NaN NaT
3 NaN NaN NaT 11 15 3/2/16 08:14:32
4 Nan NaN NaT 12 69 3/5/17 09:12:29
我想要的是合并的 FRAME 和 date/date_time 列
df_3
id FRAME var_1 var_2 date_time
1 10 15 NaN 3/4/16
2 12 69 NaN 3/5/17
3 11 NaN 15 3/2/16 08:14:32
4 12 NaN 69 3/5/17 09:12:29
解决方案
pd.concat
与 一起使用rename
:
df_3 = pd.concat([df_1,
df_2.rename(columns={'frame':'FRAME', 'date_time':'date'})],
ignore_index=True,
sort=True)
输出
FRAME date var_1 var_2
0 10 3/4/16 15.0 NaN
1 12 3/5/17 69.0 NaN
2 11 3/2/16 08:14:32 NaN 15.0
3 12 3/5/17 09:12:29 NaN 69.0
推荐阅读
- php - 检查自定义安全号码
- android - 谷歌地图在 2018 年 8 月发布地图定价
- vbscript - VBScipt MsgBox 帮助文件未打开
- c# - EF Core 和复杂类型序列化
- css - 网页中的差距无法找出来源 - 尝试了一些博客答案都没有奏效
- dll - 如何显式加载通常在编译时链接的 DLL 文件?
- entity-framework - 实体框架导航属性预加载/重用
- selenium-webdriver - Serenity BDD Java 10 使用 chromedriver 作为 webdriver.driver
- php - 类别页面 WooCommerce 上的错误产品订单
- php - Monolog:使用保留的低级日志记录向 Sentry 发送错误