【问题标题】:pandas string to float熊猫字符串浮动
【发布时间】:2022-07-20 17:03:47
【问题描述】:

array(['+$35.00', '="-$5.00"', '+$42.24', '+$10.56', '="-$20.00"',` '+$60.00', '="-$10.00"', '+$21.00', '+$18.50', '+$10.00', '+$19.00', '+$34.40', 0], dtype=object)

我知道这已被多次讨论,但我似乎无法将 pandas 中的列转换为浮点数。

【问题讨论】:

  • 这个数组是从哪里来的?也许您可以在更早的阶段开始更好地转换它?原始输入是什么?而这些数据中的= 是什么意思?

标签: python pandas


【解决方案1】:

你可以使用:

s = pd.Series(a)
s = pd.to_numeric(s.str.extract(r'(\d+(?:\.\d+)?)', expand=False)).fillna(s)

输出:

0     35.00
1      5.00
2     42.24
3     10.56
4     20.00
5     60.00
6     10.00
7     21.00
8     18.50
9     10.00
10    19.00
11    34.40
12     0.00
dtype: float64

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 2018-10-31
    • 2021-12-14
    • 2014-04-05
    相关资源
    最近更新 更多