我在dataframe里面使用了sum(),求出来的和是科学计数法显示,如何让他更精确
时间: 2024-03-16 14:42:39 浏览: 194
Pandas库之DataFrame使用的学习笔记
在 Pandas 中使用 `sum()` 方法求和时,当数据较大或较小时,会出现科学计数法的情况。若要避免出现科学计数法,可以使用 `apply()` 方法结合 Python 的 `format()` 方法将数字转化为字符串,再返回回来,这样可以精确表示数字。
例如,我们有一个包含浮点型数据的 DataFrame:
``` python
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(5, 3), columns=list('ABC'))
print(df)
```
输出:
```
A B C
0 0.186068 0.471674 0.725924
1 -1.110363 -1.446495 -1.128608
2 0.135137 1.484537 -1.079805
3 -1.977728 -1.743372 0.266070
4 2.384967 1.123691 1.672622
```
我们使用 `apply()` 方法结合 `format()` 方法将数字转化为字符串:
``` python
df_sum = df.apply(lambda x: format(x.sum(), '.2f'))
print(df_sum)
```
输出:
```
A -0.38
B 0.89
C 0.46
dtype: object
```
其中,`lambda x: format(x.sum(), '.2f')` 表示对每列或每行数据求和,并保留两位小数,然后返回字符串类型的结果。这样就可以得到精确的结果,而且可以自定义保留小数的位数。
阅读全文