python - Pandas DataFrame 浮点格式

标签 python python-2.7 numpy pandas formatting

我有一个包含调查回复的 Pandas DataFrame,我正在将其汇总为平均分数并输出为 HTML。我当前的代码如下所示:

import pandas as pd
import numpy as np

df = pd.read_csv('survey_scores.csv', header=0)
np.round(pd.DataFrame(df.groupby('question_number').aggregate('mean').score).transpose(), 2).to_html()

它需要一个在 csv 中看起来有点像这样的 DataFrame...

response_number, question_number, score
1, 1, 3.0
1, 2, 4.0
1, 3, 4.0
2, 1, 4.0
2, 2, 4.0
2, 3, 1.0

然后它将平均分数输出到一个 HTML 表中,该表的格式如下:

3.5, 4, 2.5

但是,我试图让输出强制每个数字显示小数点后两位数。我把它四舍五入到小数点后两位,但我很难让我的输出格式化这样的值:

3.50, 4.00, 2.50

如何将这些值格式化为小数点后两位?

最佳答案

我已经解决了这个问题。 pandas.DataFrame.to_html() 可以格式化 float 。

import pandas as pd
import numpy as np

df = pd.read_csv('survey_scores.csv', header=0)
np.round(pd.DataFrame(df.groupby('question_number').aggregate('mean').score).transpose(), 2).to_html(float_format=lambda x: '%.2f' % x)

关于python - Pandas DataFrame 浮点格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29108341/

相关文章:

Python 2.7 super 方法看不到子类名称

python - 在 Numpy 中转换多项式变量

python - 如何将簇/类/组标签的数据框转换为成对/不成对的成对数据框?

c++ - Python 等效于 C++ getline()

python - Tkinter 的 IDE

python - python 库的嵌套字典与 JSON 文件

python - C++ Boost Python numpy 数组初始化

Python:为什么我的循环不迭代?

python - 哈希内存使用率高于 instagram 测试结果

访问子字典键的 Pythonic 方式