您能帮助我吗?我遇到了一个问题,在Windows (8 Gb RAM)上使用0.18.1 pandas和2.7.10 Python从大型csv文件中读取随机行。
在Read a small random sample from a big CSV file into a Python data frame中,我看到了一种方法,然而,对于我的PC来说,它非常消耗内存,也就是说,部分代码:
n = 100
s = 10
skip = sorted(rnd.sample(xrange(1, n), n-s))# skip n-s random rows from *.csv
data = pd.read_csv(path, usecols = ['Col1', 'Col2'],
dtype = {'Col1': 'int32', 'Col2':'int32'}, skiprows = skip)因此,如果我想从文件中随机抽取一些行,不仅考虑到100行,而且考虑到100000行,这就变得很困难,但是从文件中不随机抽取行几乎是可以的:
skiprows = xrange(100000)
data = pd.read_csv(path, usecols = ['Col1', 'Col2'],
dtype = {'Col1': 'int32', 'Col2':'int32'}, skiprows = skip, nrows = 10000)所以问题是,我如何处理从大型csv文件中读取大量随机行的问题,也就是说,由于我无法读取整个csv文件,即使是分块,我也只对随机行感兴趣。谢谢
https://stackoverflow.com/questions/38233719
复制相似问题