如何将数据帧按列附加到CSV文件?

2024-10-02 20:42:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在预处理一个包含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

Tags: 文件csvto数据内存falsedfindex
2条回答

我的解决方案是转换变量的类型。首先,变量是int32,我转换成int8。然后就不用花那么多时间了。你知道吗

如果您的数据在数据库中,您应该使用SQL进行合并,并使用SQL读入所需的内容。或者,您可以查看Dask(https://dask.pydata.org/en/latest/139)。我没有这方面的经验,只是向您指出可能有用的资源。你知道吗

Dask数据帧是一个大型并行数据帧,由许多较小的数据帧组成,沿索引拆分。这也许能解决你的记忆问题。试试看。你知道吗

相关问题 更多 >