提问人:dingaro 提问时间:11/6/2023 更新时间:11/6/2023 访问量:107
如何将列表中的 Decimal('0.303440') 等值转换为 Python Pandas 中的浮点数?
How to convert values like Decimal('0.303440') in list to float in Python Pandas?
问:
我在 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中做到这一点?
答:
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()
评论
[list(map(float, l)) for l in my_list]
将是一个简单的开始......?!