是否可以使用生成器加载和写出数据帧

问题描述

我要在熊猫中写入一个非常大的数据集。目前我的方法是这样:

df_dict = df2.to_dict('records')

filename = newfile.json:
for item in df2_dict:
    with open('{0}'.format(filename),'a+') as outfile:
        json.dump(item,outfile,separators = (',',':'))
        outfile.write('\n')

这非常占用内存。我更喜欢做的是如何将df2的1行转换为字典,然后将其写到newfile.json,而不是先将整个表转换为dict。但是我不知道这是否可能,或者最好的方法是什么。

解决方法

您可以使用Keras ImageDataGenerator类flow_from_dataframe方法(https://keras.io/api/preprocessing/image/)。我最近在作业中使用了类似的方法。此博客可以帮助您开始使用-https://medium.com/@vijayabhaskar96/tutorial-on-keras-flow-from-dataframe-1fd4493d237c