データフレームから列の一意の組み合わせを見つける

pylearner

以下のデータセットでは、一意のシーケンスを見つけて、シリアル番号を割り当てる必要があります。

データセット:

user    age maritalstatus   product
A   Young   married 111
B   young   married 222
C   young   Single  111
D   old single  222
E   old married 111
F   teen    married 222
G   teen    married 555
H   adult   single  444
I   adult   single  333

期待される出力:

young   married     0
young   single      1
old     single      2
old     married     3
teen    married     4
adult   single      5

上記のように一意の値を見つけた後、以下のように新しいユーザーを渡すと、

user age maritalstatus  
X     young  married 

製品をリストとして返す必要があります。

X : [111, 222]

以下のようにシーケンスがない場合

user     age     maritalstatus  
    Y     adult  married

空のリストが返されるはずです

Y : []
ジェズリール

最初に出力する列のみを選択して追加しdrop_duplicates、最後に次の方法で新しい列を追加しますrange

df = df[['age','maritalstatus']].drop_duplicates()
df['no'] = range(len(df.index))
print (df)
     age maritalstatus  no
0  Young       married   0
1  young       married   1
2  young        Single   2
3    old        single   3
4    old       married   4
5   teen       married   5
7  adult        single   6

最初にすべての値を小文字に変換する場合:

df = df[['age','maritalstatus']].apply(lambda x: x.str.lower()).drop_duplicates()
df['no'] = range(len(df.index))
print (df)
     age maritalstatus  no
0  young       married   0
2  young        single   1
3    old        single   2
4    old       married   3
5   teen       married   4
7  adult        single   5

編集:

最初に変換するlowercase

df[['age','maritalstatus']] = df[['age','maritalstatus']].apply(lambda x: x.str.lower())
print (df)
  user    age maritalstatus  product
0    A  young       married      111
1    B  young       married      222
2    C  young        single      111
3    D    old        single      222
4    E    old       married      111
5    F   teen       married      222
6    G   teen       married      555
7    H  adult        single      444
8    I  adult        single      333

そして、に変換さmergeれた一意のに使用しますproductlist

df2 = pd.DataFrame([{'user':'X', 'age':'young', 'maritalstatus':'married'}])
print (df2)
     age maritalstatus user
0  young       married    X

a = pd.merge(df, df2, on=['age','maritalstatus'])['product'].unique().tolist()
print (a)
[111, 222]

df2 = pd.DataFrame([{'user':'X', 'age':'adult', 'maritalstatus':'married'}])
print (df2)
     age maritalstatus user
0  adult       married    X

a = pd.merge(df, df2, on=['age','maritalstatus'])['product'].unique().tolist()
print (a)
[]

ただし、列を使用する必要がある場合transform

df['prod'] = df.groupby(['age', 'maritalstatus'])['product'].transform('unique')
print (df)
  user    age maritalstatus  product        prod
0    A  young       married      111  [111, 222]
1    B  young       married      222  [111, 222]
2    C  young        single      111       [111]
3    D    old        single      222       [222]
4    E    old       married      111       [111]
5    F   teen       married      222  [222, 555]
6    G   teen       married      555  [222, 555]
7    H  adult        single      444  [444, 333]
8    I  adult        single      333  [444, 333]

編集1:

a = (pd.merge(df, df2, on=['age','maritalstatus'])
       .groupby('user_y')['product']
       .apply(lambda x: x.unique().tolist())
       .to_dict())
print (a)
{'X': [111, 222]}

詳細

print (pd.merge(df, df2, on=['age','maritalstatus']))
  user_x    age maritalstatus  product user_y
0      A  young       married      111      X
1      B  young       married      222      X

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

1つのホットエンコードされたデータフレームで一意の組み合わせを見つける方法は?

分類Dev

列データの一意の組み合わせを見つけるSQLクエリ

分類Dev

一意の列の組み合わせを見つける

分類Dev

R- データ フレームの行を組み合わせて 3 列で一意にする

分類Dev

すべての一意のケースを含む新しい列にデータフレームの2つの列を組み合わせる

分類Dev

Pythonデータフレームの2つの列の組み合わせに基づいて一意のコードを作成する方法

分類Dev

Pythonパンダデータフレームで発生する2つの列の一意の組み合わせの数を取得する方法

分類Dev

データフレームrから2つの変数を使用して一意の組み合わせの行列を生成します

分類Dev

データフレームrから2つの変数を使用して一意の組み合わせの行列を生成します

分類Dev

パンダデータフレーム内の一意の組み合わせの数を数える

分類Dev

列の一意の組み合わせを取得し、Pythonデータフレームでそれらによって並べ替える方法は?

分類Dev

データフレーム内のすべての一意の列の組み合わせ

分類Dev

3つのデータフレームから1つずつ列を組み合わせる

分類Dev

SQLServerの結合から一意の組み合わせを見つける方法

分類Dev

列の組み合わせに基づいてデータフレームに一意の識別子を作成する

分類Dev

pandasデータフレームの一意性に基づいた2列の値の組み合わせの番号付け

分類Dev

データフレームのすべての可能な組み合わせを見つける

分類Dev

複数のデータフレーム間で一致する値の組み合わせを見つけますか?r

分類Dev

2つの列の一意の組み合わせでパンダのデータフレームをグループ化するにはどうすればよいですか?

分類Dev

Rのデータテーブルから一意の組み合わせを数える方法は?

分類Dev

データフレームの行で一意のIDを見つける

分類Dev

他の列の一意の組み合わせに基づいてデータフレーム列の値を変更します

分類Dev

データフレームの列を組み合わせる

分類Dev

2つの列から一意のデータを見つける

分類Dev

2つのテーブルの一意の列を組み合わせる

分類Dev

データフレーム内の各一意の組み合わせの頻度

分類Dev

データフレームのすべての列の一意の値を見つける

分類Dev

再帰を使用して一意の組み合わせを見つける

分類Dev

データフレームグループ内の行の一意の組み合わせをカウントする方法は?

Related 関連記事

  1. 1

    1つのホットエンコードされたデータフレームで一意の組み合わせを見つける方法は?

  2. 2

    列データの一意の組み合わせを見つけるSQLクエリ

  3. 3

    一意の列の組み合わせを見つける

  4. 4

    R- データ フレームの行を組み合わせて 3 列で一意にする

  5. 5

    すべての一意のケースを含む新しい列にデータフレームの2つの列を組み合わせる

  6. 6

    Pythonデータフレームの2つの列の組み合わせに基づいて一意のコードを作成する方法

  7. 7

    Pythonパンダデータフレームで発生する2つの列の一意の組み合わせの数を取得する方法

  8. 8

    データフレームrから2つの変数を使用して一意の組み合わせの行列を生成します

  9. 9

    データフレームrから2つの変数を使用して一意の組み合わせの行列を生成します

  10. 10

    パンダデータフレーム内の一意の組み合わせの数を数える

  11. 11

    列の一意の組み合わせを取得し、Pythonデータフレームでそれらによって並べ替える方法は?

  12. 12

    データフレーム内のすべての一意の列の組み合わせ

  13. 13

    3つのデータフレームから1つずつ列を組み合わせる

  14. 14

    SQLServerの結合から一意の組み合わせを見つける方法

  15. 15

    列の組み合わせに基づいてデータフレームに一意の識別子を作成する

  16. 16

    pandasデータフレームの一意性に基づいた2列の値の組み合わせの番号付け

  17. 17

    データフレームのすべての可能な組み合わせを見つける

  18. 18

    複数のデータフレーム間で一致する値の組み合わせを見つけますか?r

  19. 19

    2つの列の一意の組み合わせでパンダのデータフレームをグループ化するにはどうすればよいですか?

  20. 20

    Rのデータテーブルから一意の組み合わせを数える方法は?

  21. 21

    データフレームの行で一意のIDを見つける

  22. 22

    他の列の一意の組み合わせに基づいてデータフレーム列の値を変更します

  23. 23

    データフレームの列を組み合わせる

  24. 24

    2つの列から一意のデータを見つける

  25. 25

    2つのテーブルの一意の列を組み合わせる

  26. 26

    データフレーム内の各一意の組み合わせの頻度

  27. 27

    データフレームのすべての列の一意の値を見つける

  28. 28

    再帰を使用して一意の組み合わせを見つける

  29. 29

    データフレームグループ内の行の一意の組み合わせをカウントする方法は?

ホットタグ

アーカイブ