python - pd.to_csv 用列表设置 float_format
问题描述
我需要将 df 写入文本文件,以节省磁盘空间我想为每列设置小数位数,即每列具有不同的宽度。
我努力了:
df = pd.DataFrame(np.random.random(size=(10, 4)))
df.to_csv(path, float_format=['%.3f', '%.3f', '%.3f', '%.10f'])
但这不起作用;
类型错误:不支持的操作数类型 %:'list' 和 'float'
关于如何使用 pandas 执行此操作的任何建议(版本 0.23.0)
解决方案
你可以这样做:
df.iloc[:,0:3] = df.iloc[:,0:3].round(3)
df['d'] = df['d'].round(10)
df.to_csv('path')
推荐阅读
- macos - Mac OS:如何清理/删除无用的系统文件?
- python - 如何在Python中的两个重复关键字之间获取子字符串
- java - 如何在 #*#* 上拆分字符串
- java - 使用蓝牙打印机打印时位图看起来严重倾斜
- c# - ITextSharp PdfCleanUpProcessor 类清理方法已删除整行
- python - GeoJson 和传单
- simulation - AnyLogic_Parking_Simulation
- python - 如何模拟由'__init__'的方法调用的方法
- java - 在接口 VS 中定义的匿名类。接口外的具体类
- python - 如何在列中仅放置部分字符串值?