【发布时间】:2020-04-14 14:34:57
【问题描述】:
我有一个如下的 dask 数据框:
Column1 Column2 Column3 Column4 Column5
0 a 1 2 3 4
1 a 3 4 5
2 b 6 7 8
3 c 7 7
我想有效地将所有列合并为一个列。我希望每一行都是一个单个字符串。如下:
Merged_Column
0 a,1,2,3,4
1 a,3,4,5
2 b,6,7,8
3 c,7,7,7
我见过this question,但它似乎效率不高,因为它使用了apply 函数。我怎样才能尽可能高效地做到这一点? (速度+内存使用)或者是 apply 并不像我认为的那样有问题,因为这是 dask,而不是 pandas。
这是我尝试过的。看起来它正在工作,但我担心它在大数据帧中的速度。
cols= df.columns
df['combined'] = df[cols].apply(func=(lambda row: ' '.join(row.values.astype(str))), axis=1, meta=('str'))
df = df.drop(cols, axis=1)
我还需要去掉列标题。
【问题讨论】: