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

Hon*_*ong 1 pandas

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

int变为十进制

unu*_*tbu 7

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

In [191]: isinstance(np.nan, float)
Out[191]: True
Run Code Online (Sandbox Code Playgroud)

因此,即使agescore均为整数值列,因为合并age_yscore_y列包含NaN的D型必须升级到浮点D型,以适应NaN.