我在一个熊猫专栏中的人数很少。例如:
0 6.560000e+02
1 6.730000e+02
2 6.240000e+02
3 1.325000e+03
4 1.984500e+07
不幸的是,当我将其强制转换为字符串时,它给了我不可用的值,例如:
df.astype('str').tolist()
['8.494e-07', ]
当转换为字符串时,是否有一种方法可以返回项目的实际值,例如:
'0.0000008494'
答案 0 :(得分:3)
给予
# s = df[c]
s
0 6.560000e+02
1 6.730000e+02
2 6.240000e+02
3 1.325000e+03
4 8.494000e-07
Name: 1, dtype: float64
您可以通过str.format
呼叫apply
,
s.apply('{:.10f}'.format)
0 656.0000000000
1 673.0000000000
2 624.0000000000
3 1325.0000000000
4 0.0000008494
Name: 1, dtype: object
s.apply('{:.10f}'.format).tolist()
# ['656.0000000000', '673.0000000000', '624.0000000000',
# '1325.0000000000', '0.0000008494']
或者通过列表理解。
['{:f}'.format(x) for x in s]
# ['656.000000', '673.000000', '624.000000', '1325.000000', '0.000001']
请注意,如果您未指定小数精度,则将最后一个值四舍五入。