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

Python中pandas DataFrame列转数组迭代时长度异常问题求解

问题根源

len(df['columnA']) 统计的是columnA这个Pandas Series的行数,你的示例DataFrame只有1行,因此返回结果为1,并不是单元格内存储的列表的长度。你原来生成columnA字段的逻辑是正确的,每个单元格确实存储了长度为2的列表。

调整实现方法

1. 正确获取列表长度

如果要取单行中columnA存储的列表的长度,需要先取出对应行的元素再计算长度:

# 取第一行的columnA值计算长度,返回结果为2
print("Length: ", len(df['columnA'].iloc[0]))

2. 迭代列表元素

单条记录场景(你的示例只有1行)

直接取出该行的列表遍历即可,会依次输出0和1:

for i in range(len(df['columnA'].iloc[0])):
    print(i)

如果需要同时拿到列表的元素值,可以用enumerate:

for idx, val in enumerate(df['columnA'].iloc[0]):
    print(f"索引:{idx},值:{val}")
多条记录场景(DataFrame有多行时)

嵌套遍历每行的列表即可:

# 逐行遍历
for row_list in df['columnA']:
    # 遍历当前行的列表元素
    for idx, val in enumerate(row_list):
        print(idx)
        # 自定义处理逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:27:04