减去两个数据帧

2024-05-29 03:32:55 发布

您现在位置:Python中文网/ 问答频道 /正文

df1型:

City, 2015-12-31, 2016-01-31, ...
YYZ  562.14, -701.18, ...
DFW  562.14, -701.18, ...
YYC  562.14, -701.18, ...

df2型:

City, 2015-12-31, 2016-01-31, ...
SFO  562.14, -701.18, ...
PDX  562.14, -701.18, ...
LAX  562.14, -701.18, ...

我想从df2中减去df1。i、 e.减去相应日期列中的值。

我尝试了以下方法:

df2.subtract(df1, fill_value=0)

但我收到以下错误:

TypeError: unsupported operand type(s) for -: 'str' and 'float'

我认为错误是因为操作无法理解如何减去City列中的字符串,这显然是有意义的,因为减去Cities是没有意义的。

这篇文章中接受的答案似乎表明这是可能的。我是那个问题的作者,但现在似乎无法使它发挥作用。


Tags: 方法cityvalue错误fill意义df1df2
2条回答

将“城市”列移到索引中。数据帧将首先按索引和列对齐,然后进行减法运算。任何不存在的组合都将导致NaN

df2.set_index('City').subtract(df1.set_index('City'), fill_value=0)

这有用吗?

df2.drop(['City']).subtract(df1.drop(['City']))

相关问题 更多 >

    热门问题