我正在尝试从http://grouplens.org/datasets/movielens/20m/中读取一个名为rating.csv的.csv文件,该文件在我的计算机中为533.4MB。
这是在Jupyter Notebook中编写的内容
import pandas as pd ratings = pd.read_cv('./movielens/ratings.csv', sep=',')
从这里开始的问题是内核将崩溃或死亡,并要求我重新启动,并且它不断重复执行同样的操作。没有任何错误。请您提出解决此问题的任何替代方案,就好像我的计算机没有运行此功能的能力一样。
这有效,但仍在重写
chunksize = 20000 for ratings in pd.read_csv('./movielens/ratings.csv', chunksize=chunksize): ratings.append(ratings) ratings.head()
只有最后一块被写入,其他被注销
chunksize在read_csv读取数据帧时,您应该考虑使用in参数,因为它返回一个TextFileReader对象,然后您可以传递该对象pd.concat以连接您的块。
chunksize
read_csv
TextFileReader
pd.concat
chunksize = 100000 tfr = pd.read_csv('./movielens/ratings.csv', chunksize=chunksize, iterator=True) df = pd.concat(tfr, ignore_index=True)
如果您只想单独处理每个块,请使用,
chunksize = 20000 for chunk in pd.read_csv('./movielens/ratings.csv', chunksize=chunksize, iterator=True): do_something_with_chunk(chunk)