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

移除chunksize后Python代码出现TypeError的原因解析

移除pd.read_csv的chunksize参数后触发TypeError的原因

问题场景

原有代码通过pd.read_csv指定chunksize=1000000可正常执行,移除该参数后出现如下报错:

TypeError: cannot concatenate object of type '<class 'str'>'; only Series and DataFrame objs are valid

原有代码:

import pandas as pd

df_list = []
file_path = 'houses.txt'

for chunk in pd.read_csv(file_path, chunksize=1000000, names=['Size()sqft', 'No of bedrooms', 'No of floors', 'Age of home', 'Price(1000s dollar)']):
    df_list.append(chunk)

df = pd.concat(df_list)

print(df_list)

问题原因

  • 当指定chunksize参数时,pd.read_csv返回TextFileReader迭代器,每次循环迭代出的chunk是DataFrame类型的分块数据,df_list里存储的都是DataFrame,后续pd.concat可以正常拼接。
  • 移除chunksize后,pd.read_csv直接返回完整的DataFrame对象。此时用for chunk in ...循环这个DataFrame,实际是遍历DataFrame的列名(字符串类型),df_list里存的全是字符串,而pd.concat仅支持拼接Series或DataFrame,因此触发TypeError。

内容的提问来源于stack exchange,提问作者Syed Mohmmad Ali Jafri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 23:14:59