python库pandas.Series相加为什么从int64变成了float64

我需要对很多数据循环处理,把相同索引的Series数据合并到一起。

合并前,他们分别都是dtype: int64,
但是把他们用.add() 处理后,类型变成了float,如何让他们处理后类型不变


[out]:
regDate     OPID
2018-05-16  2       3912
2018-05-17  2       4052
2018-05-18  2       3905
2018-05-19  2        984
2018-05-28  2          1
2018-07-26  2        445
2018-07-27  2        402
2018-07-28  2        169
2018-07-29  2        157
2018-07-30  2        137
2018-07-31  2        168
2018-08-01  2         42
2018-12-26  2          1
Name: UID, dtype: int64



2018-05-30    6494
2018-05-31    5665
2018-06-14       1
2018-07-26       6
2018-07-27       4
2018-07-28       9
2018-07-29      10
2018-07-30       7
2018-07-31       7
2018-08-01       1
2018-12-04       1
Name: UID, dtype: int64



2018-05-16    3912.0
2018-05-17    4052.0
2018-05-18    3905.0
2018-05-19     984.0
2018-05-28       1.0
2018-05-30    6494.0
2018-05-31    5665.0
2018-06-14       1.0
2018-07-26     451.0
2018-07-27     406.0
2018-07-28     178.0
2018-07-29     167.0
2018-07-30     144.0
2018-07-31     175.0
2018-08-01      43.0
2018-12-04       1.0
2018-12-26       1.0
Name: UID, dtype: float64

2个回答

设置因为你的两个Series的index不同,会使用fill_value 参数,这个参数是float类型的,所以都会转化为float类型的数据在相加,结果也是float类型。
如果你想得到整形的数据,最后的加过使用astype('int64') 在设置一下类型就可以 了

qq_39412061
吃鸡王者 回复思水涸鲋: 不客气
3 个月之前 回复
yjwhtz1988
思水涸鲋 明白了,非常感谢您
3 个月之前 回复
yjwhtz1988
思水涸鲋 非常感谢
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问