データフレーム内の列を連結し、番号に基づいて並べ替えます

アントニウス

IDを相互にペアリングするデータフレームを作成しました。例えば

|First ID|Second ID|Concatenated column|
|--------|---------|-------------------|
|1111111111|2222222222|1111111111,2222222222|
|1111111111|1111111112|1111111111,1111111112|
|2222222222|1111111111|2222222222,1111111111|

私がやりたいのは、1番目と2番目のIDの値に関係なく、重複するペアをすべて削除することです。

これを行うための最良の方法として私が考えたのは、各行/ペアに同じ順序を使用して、両方が両方のIDを配置する連結列を作成することです。すなわち昇順

これは、(最初​​に来るIDに関係なく)すべての重複ペアを削除するための最良の方法ですか?その場合、指定された順序(昇順/降順)で列を連結するにはどうすればよいですか。

これまでのところ、次のコードを使用して、2つの列を連結する方法しか見つかりませんでした。

df= df.withColumn('joined_IDs', 
                sf.concat(sf.col('Id_1'),sf.lit(', '), sf.col('Id_2')))

ペアを削除するためのより洗練された方法があれば、それも知っておくと便利です。

ありがとう!

mck

使用array_sortしてarray重複を削除する場合は、を使用しますdropDuplicates

df.show()
+---+---+
|id1|id2|
+---+---+
|111|222|
|111|112|
|222|111|
+---+---+

import pyspark.sql.functions as F
df2 = df.withColumn('ids', F.array_sort(F.array('id1', 'id2')))
df2.show()
+---+---+----------+
|id1|id2|       ids|
+---+---+----------+
|111|222|[111, 222]|
|111|112|[111, 112]|
|222|111|[111, 222]|
+---+---+----------+

df3 = df2.dropDuplicates(['ids'])
df3.show()
+---+---+----------+
|id1|id2|       ids|
+---+---+----------+
|111|222|[111, 222]|
|111|112|[111, 112]|
+---+---+----------+

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

列内の固有の値に基づいてデータフレームを並べ替えます

分類Dev

Pandasデータフレームグループを最小インデックス番号で並べ替えてから、3番目の列に基づいてグループ内の他のすべての列を並べ替えます

分類Dev

正と負の値に基づいてデータフレーム列の値を並べ替えますか?

分類Dev

一意の値に基づいて2列のデータフレームを並べ替えます

分類Dev

パンダ:複数の列に基づいてデータフレームを並べ替えます

分類Dev

別のカスタム順序の列に基づいて、データフレーム内の列のペアを並べ替えます

分類Dev

列内の値のプレフィックスに基づいてデータフレームを並べ替えます

分類Dev

整数データ型を使用して、別の列の値に基づいてデータフレームを並べ替えます

分類Dev

リストに基づいて列を並べ替えた後、データフレーム内の別の列を並べ替える

分類Dev

行名Rに基づいてデータフレームを列に並べ替えます

分類Dev

ベクトルに基づくデータフレーム行の並べ替えを関数内に組み込む方法に苦労しています

分類Dev

最初の列で並べ替えずに2つのPandasデータフレームを連結します

分類Dev

列に基づいてパンダデータフレームデータのデータを配置/並べ替えます

分類Dev

列の基準に基づいてデータフレームを並べ替える

分類Dev

データフレーム内の変数グループに基づいて行を並べ替える

分類Dev

変数内のコンマの数に基づいてデータフレームを並べ替える方法

分類Dev

pandasデータフレームの2列に基づいて複数の列を並べ替える

分類Dev

列平均に基づいてデータフレームの列を並べ替える

分類Dev

データフレームでグループ化して並べ替え、その後、基準に基づいて最初の出現を見つけます

分類Dev

GroupByの後の特定の列に基づいてデータフレームを並べ替える

分類Dev

列グループの平均に基づいてデータフレームを並べ替える方法

分類Dev

列の値に基づいてデータフレームの行を並べ替える方法

分類Dev

ヘッダーのfloatサフィックスに基づいてデータフレームの列を並べ替えます

分類Dev

列名に基づいてパンダデータフレームの列を並べ替える

分類Dev

列の値に基づいてパンダデータフレームを並べ替える

分類Dev

現在の並べ替え位置と別の列に基づいてパンダデータフレーム列を作成する方法はありますか?

分類Dev

パンダは外部シリーズに基づいてデータフレームを並べ替えます

分類Dev

2つのパンダデータフレームを連結し、列を並べ替えます

分類Dev

1つの列の並べ替えに基づいて複数のPandasデータフレーム列を並べ替える

Related 関連記事

  1. 1

    列内の固有の値に基づいてデータフレームを並べ替えます

  2. 2

    Pandasデータフレームグループを最小インデックス番号で並べ替えてから、3番目の列に基づいてグループ内の他のすべての列を並べ替えます

  3. 3

    正と負の値に基づいてデータフレーム列の値を並べ替えますか?

  4. 4

    一意の値に基づいて2列のデータフレームを並べ替えます

  5. 5

    パンダ:複数の列に基づいてデータフレームを並べ替えます

  6. 6

    別のカスタム順序の列に基づいて、データフレーム内の列のペアを並べ替えます

  7. 7

    列内の値のプレフィックスに基づいてデータフレームを並べ替えます

  8. 8

    整数データ型を使用して、別の列の値に基づいてデータフレームを並べ替えます

  9. 9

    リストに基づいて列を並べ替えた後、データフレーム内の別の列を並べ替える

  10. 10

    行名Rに基づいてデータフレームを列に並べ替えます

  11. 11

    ベクトルに基づくデータフレーム行の並べ替えを関数内に組み込む方法に苦労しています

  12. 12

    最初の列で並べ替えずに2つのPandasデータフレームを連結します

  13. 13

    列に基づいてパンダデータフレームデータのデータを配置/並べ替えます

  14. 14

    列の基準に基づいてデータフレームを並べ替える

  15. 15

    データフレーム内の変数グループに基づいて行を並べ替える

  16. 16

    変数内のコンマの数に基づいてデータフレームを並べ替える方法

  17. 17

    pandasデータフレームの2列に基づいて複数の列を並べ替える

  18. 18

    列平均に基づいてデータフレームの列を並べ替える

  19. 19

    データフレームでグループ化して並べ替え、その後、基準に基づいて最初の出現を見つけます

  20. 20

    GroupByの後の特定の列に基づいてデータフレームを並べ替える

  21. 21

    列グループの平均に基づいてデータフレームを並べ替える方法

  22. 22

    列の値に基づいてデータフレームの行を並べ替える方法

  23. 23

    ヘッダーのfloatサフィックスに基づいてデータフレームの列を並べ替えます

  24. 24

    列名に基づいてパンダデータフレームの列を並べ替える

  25. 25

    列の値に基づいてパンダデータフレームを並べ替える

  26. 26

    現在の並べ替え位置と別の列に基づいてパンダデータフレーム列を作成する方法はありますか?

  27. 27

    パンダは外部シリーズに基づいてデータフレームを並べ替えます

  28. 28

    2つのパンダデータフレームを連結し、列を並べ替えます

  29. 29

    1つの列の並べ替えに基づいて複数のPandasデータフレーム列を並べ替える

ホットタグ

アーカイブ