问题描述
我为科学格式压缩编写了以下代码:-
def convert_float_cols_to_str(df):
dtypes = df.dtypes
for col,dtype in dtypes.iteritems():
if dtype == 'float64':
df[col] = df[col].astype(int).astype(str)
此变量value
是float64数据类型,包含诸如8888888888888
和nan
值之类的大数字
value 3224 non-null float64
当我在写excel之前调用上面的函数时,很大的数字将转换为excel中的-234567777
之类的一些垃圾值,而另一些则在int
中。我不明白为什么会填充这么大的负数。当我在函数中更改为df[col] = df[col].astype(str)
时,它可以正确显示数字,但是.0
代表了Excel中的所有值,例如1.0
,8888888.0
等,我不这样做。不想。我应该怎么做才能使所有的整数都没有十进制表示(看起来很笨拙)。
我的df
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)