首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫数据添加2个数据

熊猫数据添加2个数据
EN

Stack Overflow用户
提问于 2017-04-11 16:17:16
回答 1查看 144关注 0票数 1

我需要能够将具有相同结构的两个数据文件的值相加在一起,从而形成一个新的dataframe。

例如DF1 + DF2 = DF3

代码语言:javascript
复制
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

代码语言:javascript
复制
TypeError: unsupported operand type(s) for +: 'datetime.date' and 'datetime.date'

当试图做时:

代码语言:javascript
复制
df3 = df1.add(df2, fill_value=0)

我肯定我遗漏了一些简单的东西,因为它似乎试图添加第一列(这是一个日期和我想要匹配的列,以便将所有其他列的值相加在一起),但是任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-11 16:26:51

您希望date列是索引,而不是普通列:

代码语言:javascript
复制
df3 = df1.set_index('date').add(df2.set_index('date'), fill_value=0).reset_index()

使用set_index()使日期列成为索引。如果您不希望最终的数据被索引,您可以使用reset_index()作为@MaxU的建议。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43351280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档