我需要能够将具有相同结构的两个数据帧的值相加,并形成新的数据帧。熊猫数据帧添加2个数据帧
例如DF1 + DF2 = DF3
DF1
+------------+----+----+----+
| date | A | B | C |
+------------+----+----+----+
| 2017-01-01 | 24 | 15 | 4 |
| 2017-01-02 | 31 | 10 | 12 |
| 2017-01-03 | 9 | 47 | 3 |
+------------+----+----+----+
DF2
+------------+----+----+----+
| date | A | B | C |
+------------+----+----+----+
| 2017-01-01 | 4 | 12 | 63 |
| 2017-01-02 | 23 | 0 | 31 |
| 2017-01-03 | 61 | 22 | 90 |
+------------+----+----+----+
DF3
+------------+----+----+----+
| date | A | B | C |
+------------+----+----+----+
| 2017-01-01 | 28 | 27 | 67 |
| 2017-01-02 | 64 | 10 | 43 |
| 2017-01-03 | 70 | 69 | 93 |
+------------+----+----+----+
我一直在试图找出如何做到这一点,但尝试做的,当我得到一个类型错误
TypeError: unsupported operand type(s) for +: 'datetime.date' and 'datetime.date'
:
df3 = df1.add(df2, fill_value=0)
我确定我错过了一些简单的东西,因为它似乎试图添加第一列(这是一个日期和我想匹配的列以将所有其他列的值加在一起),但任何帮助都会很大赞赏。
如果您拿出日期列并稍后添加它,它应该工作。鉴于您的数据结构,这是否可能?它将在上述情况下工作。 – clog14
日期需要保持链接到数据,否则数据不是很好。我想基本上我需要的是根据datafrmes之间的日期匹配来合并相应的列 –
另一个选项是使用concat,groupby和sum:'df3 = pd.concat([df1,df2])。groupby(' date')。sum()。reset_index()' –