如何修改pandas中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)

推荐答案

当然,我在 comments 中给出的答案并不是很有帮助.您可以这样指定自己的字符串转换器.

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

Python相关问答推荐

绘制系列时如何反转轴?

pyramid 内部数组中的连续序列-两极

无法导入已安装的模块

当值是一个integer时,在Python中使用JMESPath来验证字典中的值(例如:1)

在Python中为变量的缺失值创建虚拟值

使用Keras的线性回归参数估计

使用FASTCGI在IIS上运行Django频道

点到面的Y距离

如何使用matplotlib在Python中使用规范化数据和原始t测试值创建组合热图?

追溯(最近最后一次调用):文件C:\Users\Diplom/PycharmProject\Yolo01\Roboflow-4.py,第4行,在模块导入roboflow中

Python库:可选地支持numpy类型,而不依赖于numpy

如何保持服务器发送的事件连接活动?

如何合并两个列表,并获得每个索引值最高的列表名称?

让函数调用方程

如何从需要点击/切换的网页中提取表格?

重置PD帧中的值

在用于Python的Bokeh包中设置按钮的样式

Js的查询结果可以在PC Chrome上显示,但不能在Android Chrome、OPERA和EDGE上显示,而两者都可以在Firefox上运行

Pandas在rame中在组内洗牌行,保持相对组的顺序不变,

如何设置nan值为numpy数组多条件