如何用numpy,pandas处理数据大的文件,减轻内存压力

方法一:

pd.read_csv()中有个参数chunksize用来块的方式读取数据,例如:将chunksize指定为每次100万行,将大数据集分成许多小块

通过迭代每个块,在将每个块添加到列表之前,我使用函数chunk_preprocessing执行数据过滤/预处理。最后,我将列表连接到一个最终的dataframe中,以适应本地内存

# read the large csv file with specified chunksize
df_chunk = pd. read_csv ( r'../input/data.csv' , chunksize =1000000 )
 
chunk_list = [] # append each chunk df here
 
 # Each chunk is in df format
for chunk in df_chunk:
     
      # perform data filtering
       chunk_filter = chunk_preprocessing (chunk)
     
       # Once the data filtering is done, append the chunk to list
        chunk_list. append (chunk_filter)
 
# concat the list into dataframe
df_concat = pd. concat (chunk_list)
 
 
方法二:通过astype()将每列的内容的数据类型进行转换而节约内存,例如float64->float32
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值