300列以上のpysparkにデータフレームがあります。これらの列には、値がnullの列がいくつかあります。
例えば:
Column_1 column_2
null null
null null
234 null
125 124
365 187
and so on
Column_1の合計を実行したい場合、結果として724ではなくNullを取得しています。
次に、データフレームのすべての列のnullを空のスペースに置き換えます。したがって、これらの列を合計しようとすると、null値は取得されませんが、数値は取得されます。
どのようにしてpysparkでそれを達成できますか
df.na.fill
を使用して、ヌルをゼロに置き換えることができます。次に例を示します。
>>> df = spark.createDataFrame([(1,), (2,), (3,), (None,)], ['col'])
>>> df.show()
+----+
| col|
+----+
| 1|
| 2|
| 3|
|null|
+----+
>>> df.na.fill(0).show()
+---+
|col|
+---+
| 1|
| 2|
| 3|
| 0|
+---+
Fillna()funcを使用できます。
>>> df = spark.createDataFrame([(1,), (2,), (3,), (None,)], ['col'])
>>> df.show()
+----+
| col|
+----+
| 1|
| 2|
| 3|
|null|
+----+
>>> df = df.fillna({'col':'4'})
>>> df.show()
or df.fillna({'col':'4'}).show()
+---+
|col|
+---+
| 1|
| 2|
| 3|
| 4|
+---+