You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python Pandas中将列表中的Decimal值转换为float?

用Pandas将嵌套列表中的Decimal类型转换为float类型

实现步骤

  1. 导入所需模块
  2. 将嵌套列表转换为Pandas DataFrame
  3. 逐元素检查并转换Decimal类型为float
  4. 将处理后的DataFrame转回嵌套列表

完整代码示例

from decimal import Decimal
import pandas as pd

# 原始嵌套列表
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')]]

# 转换为DataFrame
df = pd.DataFrame(my_list)

# 定义转换函数:Decimal转float,其他类型保持不变
def decimal_to_float(x):
    return float(x) if isinstance(x, Decimal) else x

# 逐元素应用转换函数
df_converted = df.applymap(decimal_to_float)

# 将DataFrame转回嵌套列表
converted_list = df_converted.values.tolist()

# 输出结果
print(converted_list)

简化写法

可以用lambda表达式替代单独定义函数,让代码更紧凑:

df_converted = df.applymap(lambda x: float(x) if isinstance(x, Decimal) else x)

执行后得到的converted_list就是所有Decimal类型已转换为float的目标嵌套列表。

内容的提问来源于stack exchange,提问作者dingaro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 00:22:51