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

如何为含float列表的DataFrame新增列统计列表元素个数?

解决方法:一行代码搞定,无需自定义遍历函数

嘿,这个需求其实超级简单,完全不用自己写遍历元素的函数,pandas自带的方法就能轻松实现!下面给你两种简洁的方案,按需选择:

方案1:直观易懂的 apply(len)

这是最直观的写法,直接对目标列的每个元素调用len()函数,自动返回每个列表的长度:

首先先构造一个示例DataFrame方便演示:

import pandas as pd

# 模拟你的数据:某列是float类型的列表
df = pd.DataFrame({
    'float_lists': [[1.1, 2.2, 3.3], [4.4], [], [5.5, 6.6]]
})

然后一行代码新增长度列:

df['list_length'] = df['float_lists'].apply(len)

方案2:大数据量更高效的 str.len()

如果你的DataFrame数据量很大,推荐用这个矢量化的方法,性能比apply更优——pandas的str访问器不仅能处理字符串,对列表这类序列也能生效,直接返回每个列表的长度:

df['list_length'] = df['float_lists'].str.len()

最终结果

两种方法都会得到相同的输出:

float_lists  list_length
0  [1.1, 2.2, 3.3]            3
1            [4.4]            1
2               []            0
3       [5.5, 6.6]            2

总结一下:完全不需要手动写遍历逻辑,这两种方法都能一行解决问题,apply(len)胜在直观好理解,str.len()则在大数据场景下速度更快,根据你的实际数据规模选就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:07:32