python - 如何减去两个不同数据帧之间的行并替换原始值?
问题描述
我有两个数据框,如下所示。如何通过 3 减去 10 和 2 减去 55 来替换 Bank1 数据?
import pandas as pd
data = [['Bank1', 10, 55], ['Bank2', 15,65], ['Bank3', 14,54]]
df1 = pd.DataFrame(data, columns = ['BankName', 'Value1','Value2'])
df2 = pd.DataFrame([[3, 2]], columns = ['Value1','Value2'])
所需输出(仅替换 Bank1 中的值):
银行名称 | 价值1 | 价值2 |
---|---|---|
银行1 | 7 | 53 |
银行2 | 15 | 65 |
银行3 | 14 | 54 |
解决方案
尝试,使用sub
+combine_first
df1.sub(df2).combine_first(df1)
BankName Value1 Value2
0 Bank1 7.0 53.0
1 Bank2 15.0 65.0
2 Bank3 14.0 54.0
推荐阅读
- android - GCM:又一个 BIND_JOB_SERVICE 权限错误——IntentService 到 JobIntentService
- javascript - mustache-express - 为 mustache 创建一个局部子目录
- angular - 当我刷新页面时,我得到两个响应
- python - Python MSS - 使屏幕截图文件大小更小还是 jpg?
- ansible - 来自文件的ansible列表作为变量
- c# - 运行 MS ACCESS 宏的 C# 互操作错误
- android - 无法使用 Firebase 数据填充 RecyclerView 适配器
- javascript - 带有下拉列表的 Node JS 交互式图库
- visual-studio - 使用 nuget 包构建问题
- javascript - 什么将形状和 jQuery 属性添加到我的锚标记?