格式/抑制来自Pythonpandas聚集结果的科学记数法
如何修改大pandasgroupby操作输出的格式,为大数生成科学记数法。 我知道如何在pythong中进行string格式化,但在这里应用它时,我感到茫然。
df1.groupby('dept')['data1'].sum() dept value1 1.192433e+08 value2 1.293066e+08 value3 1.077142e+08
这抑制了科学记数法,如果我转换为string,但现在我只是想知道如何string格式和添加小数。
sum_sales_dept.astype(str)
当然,我在评论中提到的答案并不是很有帮助。 你可以像这样指定你自己的string转换器。
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
我不知道这是否是这样做的首选方式,但它的工作原理。
纯粹为了审美目的而将数字转换为string似乎是一个坏主意,但如果您有一个很好的理由,这是一种方法:
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
这是另一种方法,几乎和上面的方式类似:
pd.options.display.float_format = '{:.2f}'.format Series(np.random.randn(3))