python - 根据条件合并两个数据框
问题描述
我正在尝试有条件地合并两个数据框。
在df1
,它有duration
。在df2
,它有usageTime
。On ,如果没有值df3
,我想设置totalTime
为df1
'值。duration
df2
usageTime
这是df1:
>> df1
duration
device
1110100 53.8
1110101 64.7
1110102 52.6
1110103 14.4
和df2:
>> df2
usageTime
deviceId
1110100 87.6
1110101 94.3
1110102 None
1110103 None
我要创建的下一个数据框是:
>> df3
totalUsage
device
1110100 87.6
1110101 94.3
1110102 52.6
1110103 14.4
我尝试过的事情:
pandas.DataFrame.combine_first()
df3 = df2.combine_first(df1.rename(columns={'duration': 'totalUsage'}))
回报:
totalUsage usageTime device 1110100 53.8 87.6 1110101 64.7 94.3 1110102 52.6 None 1110103 14.3 None
pandas.DataFrame.fillna()
df3 = df2.fillna(df1) df3.columns = ['totalUsage']
回报:
totalUsage device 1110100 87.6 1110101 94.3 1110102 NaN 1110103 NaN
我对所有想法持开放态度。
解决方案
推荐阅读
- android - 如何使用 androidx 发送内容视图以进行数据绑定?
- google-apps-script - 用于在 Google 表格中附加数据范围的 Google App 脚本
- perl - 无法从 Mojolicious 路由处理程序内部连接到外部 websocket
- python - 找不到满足 opencv-python 要求的版本
- angular - 更新订阅的数据而不开始另一个循环
- javascript - 为什么创建复合索引后 Firestore 仍然产生错误?
- excel - 在需要身份验证的网站中使用 ChromeDriver 时保持连接
- regex - 用于获取链接的正则表达式
- php - Symfony 表单 - 在加载时运行验证(预验证表单)
- python - 如何在 python shell 命令行中伪造“sys.stdin”?