我有一个大的文本数据集及其相应的标签。我曾经使用csv模块读取 csv 文件,然后numpy在该数据上构建数组,直到我发现 numpy 中的大型文本数组内存效率低下。
with open('sample.csv', 'r') as f:
data = csv.reader(f.readlines())
texts = np.array([d[0] for d in data])
这需要大约 13GB 内存。但是当pandas读取相同的数据时,就像什么都没发生一样,内存中没有数据存在。我的意思是它不是减少 50% 甚至 20% 的内存使用量,它只需要 300 MB 的内存。
data = pd.read_csv('sample.csv')
texts2 = np.array(data['text'])
texts和数组之间的唯一区别texts2是dtype:
texts.dtype
dtype('<U92569')
texts2.dtype
dtype('O')
繁星淼淼
相关分类