重複を削除
重複行を削除した新しいDataFrameを返します。オプションで、特定の列のみを考慮することも可能です。
構文
dropDuplicates(subset: Optional[List[str]] = None)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| 列名のリスト(省略可能) | 重複比較に使用する列のリスト(デフォルトは「すべての列」)。 |
戻り値
DataFrame重複のないDataFrame 。
注意
静的な バッチDataFrameの場合、重複する行を削除するだけです。 ストリーミングDataFrameの場合、トリガー全体のすべてのデータを中間状態として保持し、重複行を削除します。 withWatermark使用すると、重複データの許容遅延時間を制限でき、システムはそれに応じて状態を制限します。また、重複の可能性を避けるために、ウォーターマークより古いデータは削除されます。
例
Python
from pyspark.sql import Row
df = spark.createDataFrame([
Row(name='Alice', age=5, height=80),
Row(name='Alice', age=5, height=80),
Row(name='Alice', age=10, height=80)
])
df.dropDuplicates().show()
# +-----+---+------+
# | name|age|height|
# +-----+---+------+
# |Alice| 5| 80|
# |Alice| 10| 80|
# +-----+---+------+
df.dropDuplicates(['name', 'height']).show()
# +-----+---+------+
# | name|age|height|
# +-----+---+------+
# |Alice| 5| 80|
# +-----+---+------+