重複する行が削除された新しい DataFrame を返します。必要に応じて、特定の列のみを考慮します。
構文
dropDuplicates(subset: Optional[List[str]] = None)
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
subset |
列名の一覧(省略可能) | 重複比較に使用する列の一覧 (既定の [すべての列])。 |
返品
DataFrame: 重複のない DataFrame。
メモ
静的バッチ DataFrame の場合、重複する行を削除するだけです。 ストリーミング DataFrame の場合、すべてのデータがトリガー間で中間状態として保持され、重複する行が削除されます。
withWatermarkを使用して、重複するデータの遅延を制限し、それに応じてシステムによって状態が制限されます。 さらに、透かしより古いデータは、重複の可能性を回避するために削除されます。
例示
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|
# +-----+---+------+