如何利用pandas字符串格式

时间:2018-02-23 11:19:47

标签: python pandas

如何显式访问内置于Pandas的优秀系列字符串格式,以便格式化我的数字:

>>> pd.Series([0.000034, 0.000035, 0.000038])
0    0.000034
1    0.000035
2    0.000038
dtype: float64

astype仅导致Python的普通float-to-string转换:

>>> pd.Series([0.000034, 0.000035, 0.000038]).astype(str)
0    3.4e-05
1    3.5e-05
2    3.8e-05
dtype: object

(我意识到我可以解析pd.Series.__str__生成的字符串,但是找不到那些不那么讨厌的东西。)

编辑:我想使用内置Pandas格式的原因是我不知道预先设置的浮动范围。

2 个答案:

答案 0 :(得分:3)

使用格式

In [1149]: pd.Series([0.000034, 0.000035, 0.000038]).apply('{:.6f}'.format)
Out[1149]:
0    0.000034
1    0.000035
2    0.000038
dtype: object

答案 1 :(得分:3)

给定一系列浮点数,以获得一系列字符串,您可以使用:

import pandas as pd
import pandas.io.formats.format as pf
s = pd.Series(pf.FloatArrayFormatter([0.000034, 0.000035, 0.000038])
              .get_result_as_array())
print(s)

打印

0     0.000034
1     0.000035
2     0.000038
dtype: object