如何修改大熊猫中产生非常大数字的科学符号的组比操作输出的格式?
我知道如何在python中进行字符串格式设置,但在这里应用它时,我不知所措。
df1.groupby('dept')['data1'].sum()
dept
value1 1.192433e+08
value2 1.293066e+08
value3 1.077142e+08
如果我转换成字符串,这会抑制科学记数法,但现在我想知道如何设置字符串格式和添加小数。
sum_sales_dept.astype(str)
您可以使用round函数来抑制特定数据帧的科学符号:
df1.round(4)
也可以通过以下方式全局抑制is:
pd.options.display.float_format = '{:.4f}'.format
下面是另一种方法,类似于Dan Allan的答案,但没有lambda函数:
>>> pd.options.display.float_format = '{:.2f}'.format
>>> Series(np.random.randn(3))
0 0.41
1 0.99
2 0.10
或
>>> pd.set_option('display.float_format', '{:.2f}'.format)
当然,我在评论中链接的答案并没有多大帮助。您可以这样指定自己的字符串转换器。
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
问题内容: 如何对熊猫的groupby运算的输出进行格式修改,从而产生非常大的科学计数法? 我知道如何在python中进行字符串格式化,但是在这里应用它时我很茫然。 如果我转换为字符串,这会抑制科学计数法,但是现在我只是想知道如何设置字符串格式并添加小数。 问题答案: 当然,我在评论中链接的答案不是很有帮助。你可以像这样指定自己的字符串转换器。 我不确定这是否是首选的方法,但是可以。 仅出于美学目
问题内容: 如何对pandas的groupby运算输出的格式进行修改,从而产生大量的科学计数法? 我知道如何在python中进行字符串格式化,但是在这里应用它时我很茫然。 如果我转换为字符串,这会抑制科学计数法,但是现在我只是想知道如何设置字符串格式并添加小数。 问题答案: 当然,我在评论中链接的答案不是很有帮助。您可以像这样指定自己的字符串转换器。 我不确定这是否是首选的方法,但是可以。 仅出于
问题内容: 我在熊猫中有一个DataFrame,其中一些数字用科学计数法(或指数计数法)表示,如下所示: 科学的表示法使应该进行轻松的比较成为不必要的困难。我认为正是21900的价值将其推向了其他水平。我的意思是1.0被编码。一! 这不起作用: 而且也没有实现抑制,而且我已经绝望了,只能为所有其他float值打开它,而无法关闭它。 问题答案: 您的数据可能是dtype。这是数据的直接复制/粘贴。将
我在pandas中有一个数据框,其中一些数字用科学符号(或指数符号)表示,如下所示: 科学记数法使得本应简单的比较变得不必要的困难。我认为是21900值搞砸了其他值。我的意思是1.0是编码的。一! 这不起作用: 而也没有实现抑制,我绝望地看着,而似乎只对所有其他浮点值打开它,没有能力关闭它。
我在pandas中有一个数据帧,我正在从csv中读取它。 我的一个列的值包括、和科学记数法,即 我的问题是,当我读取csv时,pandas将这些数据视为,而不是它应该是的。我猜是因为它认为科学符号是字符串。 我尝试使用后,尝试使用。这会引发错误
我来自SQL世界,从MongoDB开始,我仍然有点困惑。。。我有一个这样的收藏 还有我的问题, 我正在使用角和NodejS Express从数据库中获取数据,我以这种格式获取数据 因此,我想知道是否有一种方法可以在没有id键的情况下获得此查询结果, 像这样: