连接两个数据帧时出现问题。奇怪的是,它第一次起作用了——但只起了一次作用,在我做了一些“聪明的”改变(稍后我将讨论)之后,它没有再做一次,并开始喷出一个记忆棒。我也重新启动了我的机器,它仍然是同一个问题。所以现在的情况是:
-
有两个数据文件-
a) 火车拼花
b) 元数据.csv
-
元数据.csv
具有有关数据类型的信息
火车拼花
是。
-
中有4列
metadata.csv
文件,我对其中的三个感兴趣。
-
由于我正在处理的问题的类型,我被要求
转置
火车。拼花。这样做的话
排
在里面
火车拼花
将匹配
元数据.csv
. 没有问题。
-
所以,首先,我知道
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”,引擎=pyarrow').T
)
-
我做的
original_data = pd.read_parquet("train.parquet", engine = 'pyarrow')
-
那么
train = original_data.T
-至少对我来说是一样的。
-
在这之后,当我
DF= P.CONTAT([MeaDATA.COL1,Meta ADCOL2,元数据,COL3],轴=“列”)
,它成功了->这是它唯一成功的一次。
-
但后来我意识到
metadata.col1
最后(因为它是目标变量),所以我想我应该重新运行它,重新排列元数据列的顺序-如下所示:
df = pd.concat([train, metadata.col2, metadata.col3, metadata.col1], axis = 'columns')
.
-
看起来很公平。
-
但在我运行之前,我尝试了我后来后悔做的事情——直接转置数据帧(
train=pd.read_parquet(“train.parquet”,引擎=pyarrow').T
)
-
之后,每次尝试连接这两个数据帧时,都会得到内存错误。我还重新启动了我的机器。
是什么引起的?
任何帮助都非常感谢。
提前谢谢。
编辑
-它是一个64 Gb的Azure虚拟机。