我需要能夠將具有相同結構的兩個數據幀的值相加,並形成新的數據幀。熊貓數據幀添加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()' –