python - 熊猫库中的合并函数
问题描述
我正在尝试基于单个列合并两个数据框。此列包含以“+”开头的值。合并功能适用于所有其他行,但带有加号的行除外。例子:
df1 df2 df3(expected Output)
Key Cost Conversion Key avg cost Revenue Key Cost Revenue
AAA 12.23 2 +BBB 22.33 1000 AAA 12.23 1000
+BBB 26.24 1 AAA 92.63 5689 +BBB 26.24 5689
CCC 15.48 0 DDD 35.68 4567 CCC 15.48 4567
df3(obtained Output)
Key Cost Revenue
AAA 12.23 1000
+BBB 26.24
CCC 15.48 4567
res = df1.merge(df2[['Key', 'Revenue']], on='Key',left_index=True, how = 'left'
解决方案
我似乎无法重现您的结果
df1.merge(df2, on='Key')
Key Cost Conversion avg_cost Revenue
0 AAA 12.23 2 92.63 5689
1 +BBB 26.24 1 22.33 1000
df2 = pd.read_clipboard()
Key avg_cost Revenue
0 +BBB 22.33 1000
1 AAA 92.63 5689
2 CCC 35.68 4567
df1.merge(df2, on='Key')
Key Cost Conversion avg_cost Revenue
0 AAA 12.23 2 92.63 5689
1 +BBB 26.24 1 22.33 1000
2 CCC 15.48 0 35.68 4567
推荐阅读
- reactjs - Redux 状态变量显示为未定义
- swiftui - 当应用程序处于后台时如何控制`Timer.publish()`
- excel - 将表格动态过滤到在线 excel 文件中的另一个工作表
- coq - 虽然预计在 Coq 中它的类型为“forall...”
- c# - 如何重新绘制面板的某些部分/或使用两个面板相互叠加,顶部的面板具有透明背景?
- android - Xamarin 表单获取当前位置需要更多时间
- android - 修复 Landroid/view/MotionEvent 不兼容问题
- rust - 从 Rust 中的函数返回迭代器返回“大小......在编译时无法知道”
- typescript - 在间隙前一天完全绘制线
- python - 从 Trax 循环中选择任务