問題タブ [pyspark-dataframes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pyspark - Pyspark:上位5行の値を見つけて1に変換し、残りをすべて0に変換する方法は?
データフレームがあり、各行で最大 5 つの値を見つけ、それらの値のみを 1 に変換し、データフレーム構造を維持しながらすべてを 0 に変換する必要があります。つまり、列名は同じままにする必要があります。
toLocalIterator を使用してから、各行をリストに変換してから、上位 5 を値 1 に変換しようとしましたが、大きなデータセットでコードを実行すると java.lang.outOfMemoryError が発生します。ログを見ていると、推奨される最大サイズが 100KB であるのに、非常に大きなサイズ (約 25000KB) のタスクが送信されていることがわかりました。
上位 5 つの値を見つけて特定の値 (この場合は 1) に変換し、残りをすべて 0 にするより良い方法はありますか?
編集1:
たとえば、入力としてこの10列と5行がある場合
これは私が出力として欲しいものです
ご覧のとおり、行と列の構造を維持しながら、各行の上位 (最大) 5 つの値を見つけて、それらを 1 に変換し、残りの値を 0 に変換します。
これは私が使用しているものです(outOfMemoryErrorが発生します)
pandas - 別の列の値に基づいて、列を複数に分割する方法は?
Python/pyspark の別の列の値に基づいて、1 つの列を 4 つに分割する必要があります。コードに基づいてフィルタリングし、複数の df を結合してみました。これを行うより良い方法はありますか?