用来自另一列的数据填充熊猫数据框中的列

因此,我要从SQL数据库下载大量数据并将其写入PyCharm中的数据框。根据一列中的数据,我需要创建更多列并将其添加到数据框中。这样做时,我遇到了内存错误“无法分配具有形状(x,91000)和dtype int32的数组”-x始终介于200到400之间。我搜索了内存错误,并且已经更改了“ vm选项”,因此PyCharm有更多可用内存-我仍然遇到内存错误。

所以我认为我需要更改代码。我通过以下代码创建新列:

list = pd.unique(df['name'])
list.sort()

for idx in list:
    col1 = '%s Col1' % idx
    df[col1] = np.int32(0)
    df.loc[(df['name'].values == idx ) & (df['level'].values == 4),col1] = df.loc[(df['name'].values == idx ) & (df['level'].values == 4),'xyz']

我正在为每个唯一名称添加7个新列。最近几天,我进行了很多研究,据我所知,python首先创建了我的数据框的副本,然后根据我的条件过滤了数据框,最后将过滤后的数据移至原始数据框。分配数据框副本会造成我的内存错误(我想)。

问题是:是否可以在没有数据帧副本的情况下就地做同样的事情? 我认为这可以解决我的内存错误。

xue5227980 回答:用来自另一列的数据填充熊猫数据框中的列

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3142383.html

大家都在问