web-dev-qa-db-ja.com

PysparkのデータフレームのすべてのNull値を置換する方法

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でそれを達成できますか

26
user7543621

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|
+---+
43
Mariusz

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|
+---+
29
Dugini Vijay