我正在尝试从Kaggle中读取expedia数据,其中包含一个4GB的csv文件,我尝试使用pd.read_csv('filename')
读取它并出现内存错误。第二种方法我尝试仅使用代码读取特定列:
pd.read_csv('train.csv', dtype={'date_time':np.str, user_location_country': np.int32, 'user_location_region':np.int32, 'user_location_city':np.int32, 'orig_destination_distance':np.float64, 'user_id':np.int32})
这再次给了我内存错误,但使用了相同方法的另一个修改:
train = pd.read_csv('train.csv', dtype={'user_id':np.int32,'is_booking':bool, 'srch_destination_id':np.int32, 'hotel_cluster':np.int32}, usecols=['date_time', 'user_id', 'srch_ci', 'srch_co', 'srch_destination_id', 'is_booking', 'hotel_cluster'])'
在大约5分钟内读取数据。
我的问题是我想使用任何方法读取更多列但都失败并给出Memory error
。我使用8GB RAM和8GB交换空间,因此在数据中只读取24列中的7-8列将减少大约800MB的数据大小,因此硬件使用没有问题。
我还尝试根据我将在后面阅读的算法阅读我不想做的块。