python - 如何合并这两个数据框,同时保留原始数据框的索引?
问题描述
这是作为df2的dataframe2:
df1 按 Id 排序,我想在 FrequencyUsers df2 的小数百分比下添加到 df1,但按 Id 排序。所以它看起来像这样:
十进制数字是 pandas 的 .value_counts(normalize=True),您可以在其中看到 ProductID 相对于唯一产品总数的频率。
我如何将 df2 附加到 df1?
另一个例子:df1 是
df1:
revenue MaxTemp
385.943800 14
1074.160340 9
2980.857860 8
1919.723960 10
385.943800 14
869.071070 11
760.289260 13
1919.723960 10
2273.413250 7
2273.413250 7
1074.160340 9
df2:
CET MaxTemp MeanTemp MinTemp MaxHumidity MeanHumidity MinHumidity
0 2016-11-17 11 9 7 100 85 63
1 2016-11-18 9 6 3 93 83 66
2 2016-11-19 8 6 4 93 87 76
3 2016-11-20 10 7 4 93 84 81
4 2016-11-21 14 10 7 100 89 77
5 2016-11-22 13 10 7 93 79 63
6 2016-11-23 11 8 5 100 91 82
7 2016-11-24 9 7 4 93 80 66
8 2016-11-25 7 4 1 87 74 57
9 2016-11-26 7 3 -1 100 88 61
10 2016-11-27 10 7 4 100 81 66
我将如何附加以制作 df3:
df3:
CET MaxTemp revenue(shortened)
0 2016-11-17 11 869
1 2016-11-18 9 1074
2 2016-11-19 8 2980
3 2016-11-20 10 1919.723960
4 2016-11-21 14 385.943800
5 2016-11-22 13 760.289260
6 2016-11-23 11 869.071070
7 2016-11-24 9 1074
8 2016-11-25 7 2273.413250
9 2016-11-26 7 2273.413250
10 2016-11-27 10 1919.723960
解决方案
根据我从您的问题中收集到的信息,您想根据 MaxTemp 列组合 df1 和 df2 。这是您可以执行的操作:
import pandas as pd
df3 = pd.merge(df1, df2, on = ['MaxTemp'])
df3 = df3[['CET', 'MaxTemp', 'revenue']]
推荐阅读
- azure - 向 Cosmos DB 添加新属性
- arduino-esp8266 - 如何从我的 arduino IDE 上的串行监视器查看 IP 地址?
- android - 如何从 RxAndroidBle 获取 BluetoothGatt 对象
- ruby-on-rails - Ahoy_email gem - 绕过 ahoy_message 创建?
- c++ - C ++如何复制对象的多态数组
- javascript - 比较对象数组并返回对象索引
- excel - 如何从列范围复制数据并粘贴到表格行中的下一个空单元格
- javascript - 计算属性在 Vue.js 中没有返回正确的值
- c++ - 如何在不使用标准算法的情况下在排序向量中添加 c 元素?
- apache-kafka - 如何在 Kafka sink JDBC 连接器中转换和提取字段