如何显式访问内置于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格式的原因是我不知道预先设置的浮动范围。
答案 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