我正在尝试将POSITION列中的值格式设置为整数而不是float的数据帧导出到csv。从csv导入到df后,我的数据正确显示:
POSITION
1.0
2.0
3.0
4.0
然后在POSITION列数据的某些操作(sort_values,drop_duplicates,使用np.nan添加空值)中,将其更改为float:
POSITION
1.0
2.0
NULL
3.0
4.0
我设法使用astype(np.int64)方法将df转换回整数(pd.to_numeric无效),并且不需要的零消失了。但是,在导出到csv期间,所有这些都消失了。在此列中我也有NULL值,因此我将它们替换为一些我想重置为NULL的假值。但是,替换假值会带来不必要的浮点格式。
这还没有删除浮点数:
df['POSITION'] = df['POSITION'].apply(pd.to_numeric)
这已删除浮动内容,但添加了虚拟值“ -1”:
df['POSITION'] = df['POSITION'].fillna(-1).astype(np.int64)
这已删除了虚拟值“ -1”,但同时删除了POSITION列中的每个值:
df['POSITION'] = df.POSITION.replace(-1, np.nan, inplace=True)
如果我在下面的代码中替换了“替换”,则删除了“ -1”,但再次返回浮点格式:
df.loc[df['POSITION'] == -1, 'POSITION'] = np.nan