pandas遍历DataFrame的product列报method对象不可迭代错误如何解决
报错的核心原因是 product 是 Pandas DataFrame 的内置聚合方法名,使用 c.product 这种点号语法访问列时,Python 会优先匹配内置的 product() 方法对象,而非你定义的 product 数据列,方法对象无法直接迭代,因此抛出对应错误。
方案1:改用方括号语法访问列
这是最稳妥的列访问方式,不会和 DataFrame 内置方法/属性名冲突,可直接遍历:
# 遍历product列的每个列表元素 for prod_list in c['product']: print(prod_list) # 如果要提取列表内的单个产品,可再加一层嵌套循环 # for prod in prod_list: # print(prod)
方案2:直接提取所有唯一产品值(无需手动遍历)
如果你的最终目的是提取所有不重复的产品值,可以直接用 Pandas 内置方法批量处理,效率更高:
# 先把product列的列表拆分为单行单个产品,再去重转为列表 unique_prod_list = c['product'].explode().unique().tolist() print(unique_prod_list)
运行后即可得到所有不重复的产品名称列表。
内容的提问来源于stack exchange,提问作者Ibrahim
相关产品推荐
相关产品推荐

