Javascript 如何替换dataframe js中的列值?
我有两个javascript数据帧:Javascript 如何替换dataframe js中的列值?,javascript,dataframe,dataframe-js,Javascript,Dataframe,Dataframe Js,我有两个javascript数据帧: const df1 = new DataFrame([ [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], ], ['c1', 'c2', 'c3', 'c4', 'c5']); 及 df1.show(df1.count())给出: | c1 | c2 | c3 | c4 | c5
const df1 = new DataFrame([
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5],
], ['c1', 'c2', 'c3', 'c4', 'c5']);
及
df1.show(df1.count())
给出:
| c1 | c2 | c3 | c4 | c5 |
------------------------------------------------------------
| 1 | 2 | 3 | 4 | 5 |
| 1 | 2 | 3 | 4 | 5 |
| 1 | 2 | 3 | 4 | 5 |
| c1 | c2 | c3 | c4 | c5 |
------------------------------------------------------------
| 11 | 22 | 33 | 44 | 55 |
| 11 | 22 | 33 | 44 | 55 |
| 11 | 22 | 33 | 44 | 55 |
df2.show(df2.count())
给出:
| c1 | c2 | c3 | c4 | c5 |
------------------------------------------------------------
| 1 | 2 | 3 | 4 | 5 |
| 1 | 2 | 3 | 4 | 5 |
| 1 | 2 | 3 | 4 | 5 |
| c1 | c2 | c3 | c4 | c5 |
------------------------------------------------------------
| 11 | 22 | 33 | 44 | 55 |
| 11 | 22 | 33 | 44 | 55 |
| 11 | 22 | 33 | 44 | 55 |
用df2
中的列值替换df1
中c2
和c3
列中的所有值的最佳方法是什么
所以最终我想以:
| c1 | c2 | c3 | c4 | c5 |
------------------------------------------------------------
| 1 | 22 | 33 | 4 | 5 |
| 1 | 22 | 33 | 4 | 5 |
| 1 | 22 | 33 | 4 | 5 |
我做这件事的方式(快):
或者(同样快):
甚至更短(但速度大约慢10倍):
有没有更简单的方法实现同样的目标
const cols = ['c2', 'c3']
const values = df2.select(...cols).toArray()
for (i in cols) {
df1 = df1.chain((row, j) => row.set(cols[i], values[j][i]))
}
const cols = ['c2', 'c3']
for (i in cols) {
df1 = df1.withColumn(cols[i], (row, j) => df2.select(cols[i]).toArray()[j][0])
}