pandas使用chunksize读取大文件

chunksize是指在单位时间内要读入数据帧df的行数,以便适应本地内存。否则一次性读取大的数据文件的话,内存不够的机器会出现Mermory error。

df_chunk = pd.read_csv(r'../input/data.csv', chunksize=1000000)
chunk_list = []
for chunk in df_chunk:
    chunk_filter = chunk_preprocessing(chunk)
    chunk_list.append(chunk_filter)
    
df_concat = pd.concat(chunk_list)

df_chunk不是一个dataframe,而是一个对象。chunk_preprocessing是自定义的函数,用于预处理每个chunk的数据。然后利用chunk_list将处理的数据存储起来,最后用pd.concat将chunk_list转换为dataframe.



评论