我正在预处理一个包含840000个样本和400多个特征的大型数据集。我需要在单个csv文件中存储数据帧以减少内存。因此,我应该避免pd.concat公司因为它需要大量的内存
我有不同的数据帧,这取决于变量的性质。如何按列附加CSV文件?似乎:
df_1.to_csv('file.csv', index=False)
df_2.to_csv('file.csv', mode='a', index=False)
df_3.to_csv('file.csv', mode='a', index=False)
创建文件文件.csv,然后将dfè2和dfè3紧跟在一起。如何按列而不是按行附加它?你知道吗
示例:
DF1
row1: variable_a variable_b
row2: 0 1
row3: 1 1
row839999: 0 1
DF2型:
row1: variable_c variable_d
row2: 0 1
row3: 1 1
row839999: 0 1
最终测向
row1: variable_a variable_b variable_c variable_d
row2: 0 1 0 1
row3: 1 1 1 1
row839999: 0 1 0 1
我的解决方案是转换变量的类型。首先,变量是int32,我转换成int8。然后就不用花那么多时间了。你知道吗
如果您的数据在数据库中,您应该使用SQL进行合并,并使用SQL读入所需的内容。或者,您可以查看Dask(https://dask.pydata.org/en/latest/139)。我没有这方面的经验,只是向您指出可能有用的资源。你知道吗
Dask数据帧是一个大型并行数据帧,由许多较小的数据帧组成,沿索引拆分。这也许能解决你的记忆问题。试试看。你知道吗
相关问题 更多 >
编程相关推荐