Python Jupyter笔记本内核在使用pandas创建虚拟变量时死亡

Python Jupyter笔记本内核在使用pandas创建虚拟变量时死亡,python,pandas,ipython-notebook,azure-machine-learning-studio,Python,Pandas,Ipython Notebook,Azure Machine Learning Studio,我正在参与沃尔玛卡格尔竞赛,我正在尝试创建一个虚拟列“FinelineNumber”列。对于上下文,df.shape返回(647054,7)。我试图为df['FinelineNumber']创建一个虚拟列,它有5196个唯一值。结果应该是一个形状为(6470545196)的数据框,然后我计划将其压缩为原始数据框 几乎每次我运行fineline\u dummies=pd.get\u dummies(df['FinelineNumber',prefix='fl'),我都会收到以下错误消息内核似乎已经

我正在参与沃尔玛卡格尔竞赛,我正在尝试创建一个虚拟列“FinelineNumber”列。对于上下文,
df.shape
返回
(647054,7)
。我试图为
df['FinelineNumber']
创建一个虚拟列,它有5196个唯一值。结果应该是一个形状为
(6470545196)
的数据框,然后我计划将其
压缩为原始数据框

几乎每次我运行
fineline\u dummies=pd.get\u dummies(df['FinelineNumber',prefix='fl')
,我都会收到以下错误消息
内核似乎已经死亡。它将自动重新启动。
我正在MacBookPro上的jupyter笔记本上运行python 2.7,内存为16GB


有人能解释为什么会发生这种情况(以及为什么大多数时候都会发生,但不是每次都会发生)?它是一个jupyter笔记本还是熊猫虫?此外,我认为这可能与内存不足有关,但在内存大于100GB的Microsoft Azure机器学习笔记本上,我也遇到了同样的错误。在Azure ML上,内核每次都会死掉—几乎是立即死掉。

这很大程度上可能是内存使用—647054196数据帧有3362092584个元素,对于64位系统上的对象指针来说,这将是24GB。在AzureML上,虽然VM有大量内存,但实际上可用内存的数量是有限的(目前为2GB,很快将为4GB),当达到限制时,内核通常会死掉。所以这很可能是内存使用问题

在执行任何其他操作之前,可以先尝试在数据帧上执行。这将允许Pandas将大部分数据帧保留在内存之外