【问题标题】:Python numerical data processing [duplicate]Python数值数据处理[重复]
【发布时间】:2020-11-16 05:46:50
【问题描述】:

我有一个全为数字的 DataFrame,其中包含一些错误值,例如:10..9,10...9 等。我只想保留一位小数。我该怎么办?

【问题讨论】:

  • 你四舍五入到小数点后一位。这很容易查到。你被困在哪里了?

标签: python pandas numpy


【解决方案1】:

示例数据:

values = ['10.9', '10..9', '10...9']

使用re

list(map(lambda x: float(re.sub('\.+', '.', x)), values))
[10.9, 10.9, 10.9]

使用pandas

s = pd.Series(values)
s.str.replace('\.+', '.').astype(float)

0    10.9
1    10.9
2    10.9
dtype: float64

【讨论】:

  • 您的示例中的数据不是数字。
  • 是的,因为 Python 中没有两点的数字,就像用户提供的那样。我假设 OP 实际上有字符串,并且想去掉额外的点(为了使它们成为数字)。
  • 这就是原因,我认为,用户在标签中制作了re。但我可能错了。
猜你喜欢
  • 1970-01-01
  • 2017-05-07
  • 2020-10-31
  • 2021-01-29
  • 1970-01-01
  • 1970-01-01
  • 2019-04-28
  • 1970-01-01
  • 2023-03-17
相关资源
最近更新 更多