从Python Pandas聚合结果格式化/抑制科学符号

发布于 2021-02-02 23:11:59

如何对熊猫的groupby运算的输出进行格式修改,从而产生非常大的科学计数法?

我知道如何在python中进行字符串格式化,但是在这里应用它时我很茫然。

df1.groupby('dept')['data1'].sum()

dept
value1       1.192433e+08
value2       1.293066e+08
value3       1.077142e+08

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

sum_sales_dept.astype(str)
关注者
0
被浏览
59
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

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

    In [25]: pd.set_option('display.float_format', lambda x: '%.3f' % x)
    
    In [28]: Series(np.random.randn(3))*1000000000
    Out[28]: 
    0    -757322420.605
    1   -1436160588.997
    2   -1235116117.064
    dtype: float64
    

    我不确定这是否是首选的方法,但是可以。

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

    In [6]: Series(np.random.randn(3)).apply(lambda x: '%.3f' % x)
    Out[6]: 
    0     0.026
    1    -0.482
    2    -0.694
    dtype: object
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看