如何添加具有不同索引和列的Dask数据框

问题描述 投票:1回答:1

我有两个csv文件。第一个可能很大,第二个很小。每个参数都保存一些值,例如pandas.DataFrame。由于第一个文件可能太大而无法读取到内存中。我决定使用Dask处理这两个文件。

我想做的是合并两个文件。如果索引和列相同,那么我将两个值相加。同时添加新的列或索引。例如,我有两个文件,例如:

文件1:

,col_1,col_2,col_3
row_1,1,2,3
row_2,2,4,6

file2:

,col_1,col_2,col_4
row_1,1,1,1
row_3,2,2,2

最后,我将得到一个像这样的新文件:

新文件

,col_1,col_2,col_3,col_4
row_1,2,3,3,1
row_2,2,4,6,0
row_3,2,2,0,2

然后Dask.DataFrame最方便或最有效的方法是什么?是否有其他解决方案来处理这两个文件(第一个文件太大而无法读入内存)?

python pandas dask dask-distributed
1个回答
0
投票

要正确执行此操作,您的两个数据框将需要通过您要加入的列进行索引。如果该列名为0,则您可能要调用

df = df.set_index(0)

在两个数据帧上。如果对该列中的行进行了排序,则将需要对数据进行完全读取(但这可以在较小的空间中完成)。如果该列中的行未排序,则将非常昂贵。

© www.soinside.com 2019 - 2024. All rights reserved.