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

如何统计DataFrame中列表列的每行元素个数?

统计DataFrame中行内列表/元组的元素个数

你遇到的问题是因为len(df['A'])计算的是整个列的行数,而非每行元素的长度。要实现逐行统计,用以下方法即可:

方法一:使用apply()逐行处理

这是最直观的方式,直接对列的每个元素应用len()函数:

import pandas as pd

# 构造示例数据
data = {
    'A': [(1,2,3), (1)],
    'B': [(1,2,3,4), (1,2,3)]
}
df = pd.DataFrame(data)

# 新增C、D列,分别统计A、B列每行的元素个数
df['C'] = df['A'].apply(len)
df['D'] = df['B'].apply(len)

print(df)

运行后输出结果:

A          B  C  D
0  (1,2,3)  (1,2,3,4)  3  4
1      (1)    (1,2,3)  1  3

补充:如果列是字符串格式的列表/元组

如果你的数据中,A、B列是字符串形式(比如"(1,2,3)"),需要先将其转换为实际的元组/列表对象,再统计长度:

import ast
# 转换字符串为元组
df['A'] = df['A'].apply(ast.literal_eval)
df['B'] = df['B'].apply(ast.literal_eval)
# 再执行统计
df['C'] = df['A'].apply(len)
df['D'] = df['B'].apply(len)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:21:17