我在连接两个数据帧时遇到问题。奇怪的是,它第一次起作用,但只有一次,在我做了一些“明智的”更改(稍后将讨论)之后,它没有再做一次,而是开始发出MemoryError。我还重新启动了机器,仍然是同样的问题。所以这是怎么回事:
metadata.csv
文件中有4列,我感兴趣的是其中的三列。metadata = pd.read_csv("metadata.csv")
train = pd.read_parquet("train.parquet", engine = 'pyarrow').T
(。T转置)df = pd.concat([train, metadata.col1, metadata.col2, metadata.col3], axis = 'columns')
时,我抛出了MemoryError
错误。这是我之前提到的“聪明”变化:
.T
(train = pd.read_parquet("train.parquet", engine = 'pyarrow').T
)original_data = pd.read_parquet("train.parquet", engine = 'pyarrow')
train = original_data.T
-至少对我来说做差不多的事情。df = pd.concat([train, metadata.col1, metadata.col2, metadata.col3], axis = 'columns')
时,它就起作用了->这是唯一的时间。 metadata.col1
(因为它是目标变量),所以我想我会重新运行它以重新排列元数据列的顺序-像这样:{{1 }}。df = pd.concat([train, metadata.col2, metadata.col3, metadata.col1], axis = 'columns')
)是什么原因造成的?
非常感谢您的帮助。
谢谢。
编辑-这是64 Gb Azure VM。