熊猫/如何将以字符串形式存储的科学计数法转换为float?

时间:2020-03-20 16:37:36

标签: python pandas casting scientific-notation

我有一个列表,其中值存储为字符串。其中一些值以科学计数法存储,而另一些则为浮点数。我试图使用.astype(float)投射它们,但是没有用。关于如何处理这个想法?

我的目标是使列为浮点型。

df['Colum1] = ['5,4e-05','3,35e-05','0,0001125','0,0001335']

1 个答案:

答案 0 :(得分:1)

首先,您必须用逗号替换圆点,然后只需将cas替换为float

df.Colum1.str.replace(',', '.').astype(float)

为了防止出现任何错误,pd.to_numeric可能是最好的选择:

pd.to_numeric(df.Col1.str.replace(',', '.'), errors='coerce')

这是一个例子:

df = pd.DataFrame({'Col1':['5,4e-05','3,35e-05','0,0001125','0,0001335']})

pd.to_numeric(df.Col1.str.replace(',', '.'), errors='coerce')

0    0.000054
1    0.000034
2    0.000112
3    0.000133
Name: Col1, dtype: float64