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

如何对Pandas中列表格式列的每个元素执行乘法运算

你遇到的报错是因为代码直接对列表整体执行浮点数乘法,Python原生不支持列表与浮点数的乘法运算,同时你原代码里的in x逻辑完全不符合元素级运算的需求。

方案1:逐行遍历列表元素(适合小数据集)

直接在apply的lambda函数中用列表推导式遍历列表内的每个元素执行乘法:

df['Amount'] = df['Amount'].apply(lambda x: [num * 0.01 for num in x])

如果需要兼容非列表值、空列表、非数字元素的异常场景,可以加判断逻辑:

df['Amount'] = df['Amount'].apply(
    lambda x: [num * 0.01 for num in x if isinstance(num, (int, float))] 
    if isinstance(x, list) 
    else x
)

方案2:打散聚合运算(适合大数据集,性能更高)

如果数据量较大,explode+聚合的方式比逐行apply效率更高:

# 把Amount列的列表元素拆分为单独行
df = df.explode('Amount')
# 对单个数值执行乘法
df['Amount'] = df['Amount'] * 0.01
# 按ID分组重新聚合成列表
df = df.groupby('ID', as_index=False)['Amount'].agg(list)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:57:00