【问题标题】:Pandas / How to convert scientific notation stored as strings into float?Pandas / 如何将存储为字符串的科学记数法转换为浮点数?
【发布时间】:2020-03-20 16:37:36
【问题描述】:

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

我的目标是将列设为浮动。

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

【问题讨论】:

  • 尝试用句点 . 替换逗号 , 熊猫开发者来自美国,这就是十进制表示法的工作原理

标签: python pandas casting scientific-notation


【解决方案1】:

首先您必须将逗号替换为点,然后您可以将其转换为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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-09-25
  • 2014-07-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-10
  • 1970-01-01
  • 2019-04-22
  • 1970-01-01
相关资源
最近更新 更多