Python 如何为+;处理不支持的操作数类型:';十进制。十进制';和';浮动';在数据帧中
我有两个数据框,看起来像这样Python 如何为+;处理不支持的操作数类型:';十进制。十进制';和';浮动';在数据帧中,python,pandas,Python,Pandas,我有两个数据框,看起来像这样 df A df b | gmv | | gmv | | 500.00 | | NaN | | 190.00 | | NaN | | 624.00 | | 10.00 | df | gmv | | 500.00 | | 190.00 | | 63
df A df b
| gmv | | gmv |
| 500.00 | | NaN |
| 190.00 | | NaN |
| 624.00 | | 10.00 |
df
| gmv |
| 500.00 |
| 190.00 |
| 634.00 |
此代码a['gmv'].fillna(0)+b['gmv'].fillna(0)
返回错误<代码>不支持+的操作数类型:'decimal.decimal'和'float'
我希望结果是这样的
df A df b
| gmv | | gmv |
| 500.00 | | NaN |
| 190.00 | | NaN |
| 624.00 | | 10.00 |
df
| gmv |
| 500.00 |
| 190.00 |
| 634.00 |
有什么建议吗?如果想要输出浮动中的系列,请通过以下方式转换第一列:
如果要以十进制格式输出系列,请转换第二个数据帧:
from decimal import Decimal
c = a['gmv'].fillna(0) + b['gmv'].fillna(0).apply(Decimal)
print (c)
0 500
1 190
2 634
Name: gmv, dtype: object
print (type(c.iat[0]))
<class 'decimal.Decimal'>
从十进制导入十进制
c=a['gmv'].fillna(0)+b['gmv'].fillna(0).应用(十进制)
印刷品(c)
0 500
1 190
2 634
名称:gmv,数据类型:object
打印(类型(c.iat[0]))