Pandasの別の列に基づいて一意にするために、列の重複する値をどのように置き換えますか?

サム:

列が重複していて、別の列の値が重複している場合、列を一意にしようとしています。このデータセット。

    Name    Age
0   Tom 20
1   Tom 20
2   Jack    19
3   Terry   18
4   Terry   20

テリーがTerry_1とTerry_2になり、テリーが1つ以上あり、年齢が一致しない場合は、トムを同じままにしたいと思います。以下のコードを試してみました。

import pandas as pd
import numpy as np
data = {'Name':['Tom', 'Tom', 'Jack', 'Terry','Terry'], 'Age':[20, 20, 19, 18,20]} 
df = pd.DataFrame(data)
df.Name=df.Name+df.groupby(['Name','Age']).cumcount().astype(str)

私が得るものは:

Name    Age
0   Tom0    20
1   Tom1    20
2   Jack0   19
3   Terry0  18
4   Terry0  20

私が欲しいのは:

Name    Age
0   Tom 20
1   Tom 20
2   Jack    19
3   Terry_1 18
4   Terry_2 20

トムの年齢は同じなので、トムは同じですが、テリーは年齢によって異なります。

ありがとう、サム

YOBEN_S:

これはtransformand factorize実行できます。次に、nunique

s=df.groupby('Name').Age
df['New']=(df.Name+'_'+s.transform(lambda x : (x.factorize()[0]+1)).astype(str)).\
              mask(s.transform('nunique')==1,df.Name)
df
Out[230]: 
    Name  Age      New
0    Tom   20      Tom
1    Tom   20      Tom
2   Jack   19     Jack
3  Terry   18  Terry_1
4  Terry   20  Terry_2

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

PostgreSQL-PSQL VIEWの共通の一意の識別子に基づいて、NULL値を別の列の値に置き換えるにはどうすればよいですか?

分類Dev

2つの列のいずれかの重複値に基づいて一意のIDを生成するにはどうすればよいですか?

分類Dev

列名と一致するように別の列の値に基づいて欠落している値を置き換える方法はありますか?

分類Dev

別の列の一意の値に基づいて、1つの列で重複を検索する

分類Dev

Swift配列内の重複データを区別するために一意の値を追加するにはどうすればよいですか?

分類Dev

列の一意の値に基づいて、他の列の行を列に変換するにはどうすればよいですか?

分類Dev

リストに存在するかどうかに基づいて、既存の列の値を置き換えます

分類Dev

重複する列に基づいて一意の識別子の新しい列を作成します

分類Dev

別の列からの重複値に基づいて、ある列からの一意の値をフィルタリングします

分類Dev

pandas DataFrameの行を、一意の列値に基づくdictアイテムに置き換えます

分類Dev

Angular 5の配列から複数の列に基づいて一意の値を取得するにはどうすればよいですか?

分類Dev

別の列の一意の識別子に基づいて、特定の列の変更を識別するにはどうすればよいですか?

分類Dev

すべての列の各一意の値を一意の識別子に置き換えます

分類Dev

重複する行の数に基づいて値を置き換えます

分類Dev

複数の列を選択するにはどうすればよいですか?ただし、(1つの特定の列に基づいて)一意/非重複の結果のみが表示されますか?

分類Dev

別の列の値に基づいて、複数の列の値をNAに置き換えます

分類Dev

パンダ列の一意の値に基づいてaz変換を適用するにはどうすればよいですか?

分類Dev

隣接する列の一致する値に基づいて、列の値を置き換えます

分類Dev

別の配列の値に基づいて、ある配列の値を置き換えます

分類Dev

別の列に基づいて一意の値を合計する

分類Dev

パンダでは、ある列の一意の値から列を作成し、別の列の値に基づいて列を埋めるにはどうすればよいですか?

分類Dev

一意の行値に基づいて列値をベクトルの列にマージするにはどうすればよいですか?

分類Dev

別の列の値に基づいてシートを分離するために一意の値を抽出します

分類Dev

別の列または行の位置に基づいて、列の値をNAに置き換えます。

分類Dev

SQLite列の文字列値を別の文字列値に置き換えるまたは変換するにはどうすればよいですか?

分類Dev

方程式と他の列の一意の値に基づいて新しい列を作成するにはどうすればよいですか?

分類Dev

複数の列にまたがる一意の値の数をどのように見つけますか?

分類Dev

1つの列を除いて重複を識別し、その列をmaxに置き換えるにはどうすればよいですか

分類Dev

Rまたはpythonの条件に基づいて、ある列のリストの値を別の列のリストの値に置き換えます

Related 関連記事

  1. 1

    PostgreSQL-PSQL VIEWの共通の一意の識別子に基づいて、NULL値を別の列の値に置き換えるにはどうすればよいですか?

  2. 2

    2つの列のいずれかの重複値に基づいて一意のIDを生成するにはどうすればよいですか?

  3. 3

    列名と一致するように別の列の値に基づいて欠落している値を置き換える方法はありますか?

  4. 4

    別の列の一意の値に基づいて、1つの列で重複を検索する

  5. 5

    Swift配列内の重複データを区別するために一意の値を追加するにはどうすればよいですか?

  6. 6

    列の一意の値に基づいて、他の列の行を列に変換するにはどうすればよいですか?

  7. 7

    リストに存在するかどうかに基づいて、既存の列の値を置き換えます

  8. 8

    重複する列に基づいて一意の識別子の新しい列を作成します

  9. 9

    別の列からの重複値に基づいて、ある列からの一意の値をフィルタリングします

  10. 10

    pandas DataFrameの行を、一意の列値に基づくdictアイテムに置き換えます

  11. 11

    Angular 5の配列から複数の列に基づいて一意の値を取得するにはどうすればよいですか?

  12. 12

    別の列の一意の識別子に基づいて、特定の列の変更を識別するにはどうすればよいですか?

  13. 13

    すべての列の各一意の値を一意の識別子に置き換えます

  14. 14

    重複する行の数に基づいて値を置き換えます

  15. 15

    複数の列を選択するにはどうすればよいですか?ただし、(1つの特定の列に基づいて)一意/非重複の結果のみが表示されますか?

  16. 16

    別の列の値に基づいて、複数の列の値をNAに置き換えます

  17. 17

    パンダ列の一意の値に基づいてaz変換を適用するにはどうすればよいですか?

  18. 18

    隣接する列の一致する値に基づいて、列の値を置き換えます

  19. 19

    別の配列の値に基づいて、ある配列の値を置き換えます

  20. 20

    別の列に基づいて一意の値を合計する

  21. 21

    パンダでは、ある列の一意の値から列を作成し、別の列の値に基づいて列を埋めるにはどうすればよいですか?

  22. 22

    一意の行値に基づいて列値をベクトルの列にマージするにはどうすればよいですか?

  23. 23

    別の列の値に基づいてシートを分離するために一意の値を抽出します

  24. 24

    別の列または行の位置に基づいて、列の値をNAに置き換えます。

  25. 25

    SQLite列の文字列値を別の文字列値に置き換えるまたは変換するにはどうすればよいですか?

  26. 26

    方程式と他の列の一意の値に基づいて新しい列を作成するにはどうすればよいですか?

  27. 27

    複数の列にまたがる一意の値の数をどのように見つけますか?

  28. 28

    1つの列を除いて重複を識別し、その列をmaxに置き換えるにはどうすればよいですか

  29. 29

    Rまたはpythonの条件に基づいて、ある列のリストの値を別の列のリストの値に置き換えます

ホットタグ

アーカイブ