【发布时间】:2019-05-06 07:52:52
【问题描述】:
我正在尝试输出 pandas 数据框,但我希望它以百分比形式输出浮点数。我已经对此进行了大量搜索,我可以让它们在输出中显示为浮点数,就像我想要使用的那样
pd.options.display.float_format = '{:,.2%}'.format
但我想要做的是完全相同的事情,除非我使用 .to_csv 方法导出到 .csv。
示例代码:
df2 = pd.DataFrame(data = {'Index': ['One', 'Two'], 'col1': [.1, .2], 'col2': [.3, .4], 'col3': [1, 7]})
df2.set_index('Index')
df:
col1 col2 col3
Index
One 0.1 0.3 1
Two 0.2 0.4 7
col1 和 col2 是 float64,col3 是整数
我想使用以下(当然也可以是类似的):
dfs.to_csv("filelocation and name.csv", float_format = '{:.2%}'.format)
输出到一个看起来像这样的 .csv:
col1 col2 col3
Index
One 10% 30% 1
Two 20% 40% 7
任何帮助将不胜感激。我遇到了从“TypeError:不支持的格式字符串传递给 numpy.ndarray._ _ format _ _”到“KeyError:'%'”以及介于两者之间的错误。
【问题讨论】:
-
似乎一种明确的方法是在导出之前对两列进行简单映射,但我真的希望能够在 to_csv 方法中使用 float_format 标记。以
df['col1'] = df['col1'].map('${:,.2%}'.format)为例。
标签: python pandas numpy floating-point export-to-csv