格式化/抑制Python聚合结果中的科学符号

如何修改pandas中groupby操作的输出格式,该操作生成大量数字的科学符号

我知道如何在python中进行字符串格式化,但在这里应用它时,我不知所措

df1.groupby('dept')['data1'].sum()
部
值1 1.192433e+08
值2 1.293066e+08
值3 1.077142e+08

如果我转换成字符串,这会抑制科学符号,但现在我只是想知道如何设置字符串格式和添加小数

sum\u sales\u dept.astype(str)

诚然,我在评论中链接的答案并不是很有帮助。您可以像这样指定自己的字符串转换器

[25]on

:pd.set_选项('display.float_格式',lambda x:'%0.3f'%x〕
[28]on:系列(np.random.randn(3))*100000000
Output[28]:
0    -757322420.605
1   -1436160588.997
2   -1235116117.064
数据类型:64

我不确定这是否是最好的方法,但它是有效的

纯粹出于审美目的将数字转换为字符串似乎是个坏主意,但如果您有充分的理由,这是一种方法:

[6]on

:系列(np.random.randn(3)).apply(lambda x:'%0.3f'%x)
Output[6]:
0     0.026
1    -0.482
2    -0.694
数据类型:对象

发表评论