0
私は以下のデータを持っています.1行のデータフレームをRDDに変換しました。 私はPySpark 2.1.0を使用しています。Pysparkでdf変換後に行にアクセス
[Row((1 - (count(YEAR_MTH)/count(1)))=0.0,
(1 - (count(REPORTED_BY)/count(1)))=0.0,
(1 - (count(FALLS_WITHIN)/count(1)))=0.0,
(1 - (count(LOCATION)/count(1)))=0.0,
(1 - (count(LSOA_CODE)/count(1)))=0.021671826625387025,
(1 - (count(LSOA_NAME)/count(1)))=0.021671826625387025,
(1 - (count(CRIME_TYPE)/count(1)))=0.0,
(1 - (count(CURRENT_OUTCOME)/count(1)))=0.0,
(1 - (count(FINAL_OUTCOME)/count(1)))=0.6377708978328174)]
私はRDDへの変換データフレームで次の選択を使用して、NULLで各列の値の何パーセントを確認しようとしていた:として、その後
col_with_nulls = df.agg(*[(1 - (fn.count(c)/fn.count('*')))
for c in cols_to_categorise]).rdd
、割合が小さい場合LSOA_CODEの場合ですが、FINAL_OUTCOMEの場合はほぼ3分の2ですが、 小さいパーセントで列の行をフィルタリングできますが、大きな割合の列のデータを確実に代入できます。
最終的な目的は、データ損失を最小限に抑えることです。だから問題は、上記の「行」の列とパーセントにどのようにアクセスできますか?あなたは各列のヌルpercetageの見栄えの良い辞書得ることができますagg
内側の列別名
感謝します。いい案。私はPysparkにはまだ新しいので、これらのようなスニペットを感謝します。 – alortimor