に対応するカラム名を検索:スカラ/スパークデータフレーム:データフレームを持つ、スカラ座/スパークで最大
val dfIn = sqlContext.createDataFrame(Seq(
("r0", 0, 2, 3),
("r1", 1, 0, 0),
("r2", 0, 2, 2))).toDF("id", "c0", "c1", "c2")
私が対応する列の名前を保持する新しい列maxCol
を計算したいと思います(行ごとに)最大値に設定します。この例では、出力は次のようになります。
+---+---+---+---+------+
| id| c0| c1| c2|maxCol|
+---+---+---+---+------+
| r0| 0| 2| 3| c2|
| r1| 1| 0| 0| c0|
| r2| 0| 2| 2| c1|
+---+---+---+---+------+
実際にデータフレームには60を超える列があります。したがって、一般的な解決策が必要です。 Pythonのパンダ(はい、私は知っている、私はpysparkと比較する必要があります...)で
同等は次のようになります。
dfOut = pd.concat([dfIn, dfIn.idxmax(axis=1).rename('maxCol')], axis=1)
一般にいくつのカラム数がありますか? – mrsrinivas
私は約60列を持っています – ivankeller
最大列と比較してどれだけ多くのものがありますか? – mrsrinivas