Dictionary 将数据映射到大字典会占用我的ram

Dictionary 将数据映射到大字典会占用我的ram,dictionary,python-3.6,ram,Dictionary,Python 3.6,Ram,这将是一个值得注意的问题。 我的数据由数百万条记录组成,其中包含用户代理、Ip地址等字段,由10列组成。每次将唯一字符串映射到整数,然后再输入ML模型进行训练,并使用pickle保存。数据以增量方式传递,字典被取消勾选并用于新的数据集映射。 由于字典越来越大,我只在上面提到的最后2个字段中遇到RAM使用问题。你能为这种情况提出任何替代方案吗?尽管有大内存可用,为什么会出现峰值 内存大小-64Gb 输入字典的大小为2GB 输入大约5GB的文件大小,长度32432769将代码中的第7行更改为:请显示

这将是一个值得注意的问题。 我的数据由数百万条记录组成,其中包含用户代理、Ip地址等字段,由10列组成。每次将唯一字符串映射到整数,然后再输入ML模型进行训练,并使用pickle保存。数据以增量方式传递,字典被取消勾选并用于新的数据集映射。 由于字典越来越大,我只在上面提到的最后2个字段中遇到RAM使用问题。你能为这种情况提出任何替代方案吗?尽管有大内存可用,为什么会出现峰值

内存大小-64Gb 输入字典的大小为2GB
输入大约5GB的文件大小,长度32432769

将代码中的第7行更改为:请显示代码:),然后在第9行:我们将帮助您:)打开(文件名,'rb')作为文件:Dict=pickle.load(file)file.close()新的计数=Dict计数[j]打印(“Dict的计数是:,新的计数)范围内的i(len(X)):如果X[i][j] 不在Dict中:Dict[X[i][j]=new_count new_count+=1x[i][j]=Dict[X[i][j]]exec(“%s=%a”%(X_列[j],Dict])new_count列表。追加(new_count)