メインコンテンツまでスキップ

DataFrameNaFunctionsクラス

DataFrame 内の欠損データを処理するための機能。

Spark Connectをサポート

構文

Python
DataFrame.na

方法

手法

説明

drop(how, thresh, subset)

null 値または NaN 値の行を省略した新しい DataFrame を返します。

fill(value, subset)

null 値が指定された値に置き換えられた新しい DataFrame を返します。

replace(to_replace, value, subset)

値を別の値に置き換えた新しい DataFrame を返します。

NULL値を持つ行を削除する

Python
from pyspark.sql import Row

df = spark.createDataFrame([
Row(age=10, height=80.0, name="Alice"),
Row(age=5, height=None, name="Bob"),
Row(age=None, height=None, name="Tom"),
])

df.na.drop().show()
Output
+---+------+-----+
|age|height| name|
+---+------+-----+
| 10| 80.0|Alice|
+---+------+-----+

NULL値を埋める

Python
df = spark.createDataFrame([
(10, 80.5, "Alice"),
(5, None, "Bob"),
(None, None, "Tom")],
schema=["age", "height", "name"])

df.na.fill({'age': 50, 'name': 'unknown'}).show()
Output
+---+------+-------+
|age|height| name|
+---+------+-------+
| 10| 80.5| Alice|
| 5| NULL| Bob|
| 50| NULL|unknown|
+---+------+-------+

値を置き換える

Python
df = spark.createDataFrame([
(10, 80, "Alice"),
(5, None, "Bob"),
(None, 10, "Tom")],
schema=["age", "height", "name"])

df.na.replace(['Alice', 'Bob'], ['A', 'B'], 'name').show()
Output
+----+------+----+
| age|height|name|
+----+------+----+
| 10| 80| A|
| 5| NULL| B|
|NULL| 10| Tom|
+----+------+----+