使用python pandas,合并数据框中的整数变为十进制

时间:2017-08-26 01:51:50

标签: pandas

我有两个csv文件,所有数字字段都是int,没有小数。 当我使用pandas merge函数连接两个数据帧时,我发现一个数据帧中的int字段都变成了十进制,为什么会这样?

int becomes decimal

1 个答案:

答案 0 :(得分:5)

DataFrame的每一列都有一个dtype。 dtype控制该列中可包含的值类型。不出所料,具有整数dtypes的列只能包含整数。具有浮点dtypes的列仅包含浮点数 - NaN是浮点数:

In [191]: isinstance(np.nan, float)
Out[191]: True

即使agescore是整数值列,由于合并的age_yscore_y列包含NaN,因此必须升级dtype到浮点dtype以容纳NaN