如何将列表中的 Decimal('0.303440') 等值转换为 Python Pandas 中的浮点数?

How to convert values like Decimal('0.303440') in list to float in Python Pandas?

提问人:dingaro 提问时间:11/6/2023 更新时间:11/6/2023 访问量:107

问:

我在 Python 中有如下列表:

    my_list = [[Decimal('0.303440'), 0.0, 2.0, 8.0, 1.0],
 [109.0, 10.0, 0.0, 0.0, 3.0],
 [52.0, 5.0, 99.0, 0.0, Decimal('0.445378')]]
  • 正如你所见,大多数值都是浮点数,但有些值是这样的:Decimal('0.303440')

  • 如何将列表中的所有值(如:Decimal('0.303440')转换为浮点数,例如:0.303440。

  • 当然,在我的真实列表中,我有很多 mores 价值观,例如:我们必须 使用完全自动化,因为我无法手动写出它们。Decimal('0.303440')

因此,因此我需要如下所示的东西:

    my_list = [[0.303440, 0.0, 2.0, 8.0, 1.0],
 [109.0, 10.0, 0.0, 0.0, 3.0],
 [52.0, 5.0, 99.0, 0.0, 0.445378]]

如何在Python Pandas中做到这一点?

Python 熊猫 列表 十进制

评论

0赞 Tim Roberts 11/6/2023
我很好奇他们是如何到达那里的。
2赞 deceze 11/6/2023
[list(map(float, l)) for l in my_list]将是一个简单的开始......?!
0赞 Codist 11/6/2023
你有一个简单的 Python 列表(列表)。你不需要熊猫

答:

0赞 mandy8055 11/6/2023 #1

您可以简单地使用:

df = df.map(float)

代码演示

评论

0赞 dingaro 11/6/2023
mandy8055,使用您的代码时出现错误:AttributeError:“list”对象没有属性“applymap”
2赞 user19077881 11/6/2023
注意:applymap 在最新的 Pandas 中已弃用 - 可以改用 map()