标签: pandas
我有两个csv文件,所有数字字段都是int,没有小数。 当我使用pandas merge函数连接两个数据帧时,我发现一个数据帧中的int字段都变成了十进制,为什么会这样?
答案 0 :(得分:5)
DataFrame的每一列都有一个dtype。 dtype控制该列中可包含的值类型。不出所料,具有整数dtypes的列只能包含整数。具有浮点dtypes的列仅包含浮点数 - NaN是浮点数:
NaN
In [191]: isinstance(np.nan, float) Out[191]: True
即使age和score是整数值列,由于合并的age_y和score_y列包含NaN,因此必须升级dtype到浮点dtype以容纳NaN。
age
score
age_y
score_y