2016-04-27 9 views
0

パンダでは、同じ列の値のセットの番号付け/順序付けを行う方法は?たとえば:アンディは2つの値を得た4 ので同じ列の値のセットに対するパンダの番号付け/順序付け

Col1 Col2 
Andy 1 
Chad 1 
Bill 1 
Andy 2 
Bill 2 
Bill 3 
Chad 2 

ビル、私はビルの列2でそれを1と2に番号をしたい、私はそれ1、2、3、4などを番号を付けます。

+0

私が試した:DEF FUNC(X):X = x.append(rannge(LEN(x))をdf.groupby( 'のCol1')適用(FUNC)、それは大規模なデータセットに超遅いです。 –

答えて

1

私が正しく理解していれば、名前の累計はCol2になります。

df['Col2'] = df.groupby('Col1').cumcount()+1 

サンプル;

Col1 
0 Andy 
1 Chad 
2 Bill 
3 Andy 
4 Bill 
5 Bill 
6 Chad 
7 Bill 

df['Col2'] = df.groupby('Col1').cumcount()+1 

    Col1 Col2 
0 Andy  1 
1 Chad  1 
2 Bill  1 
3 Andy  2 
4 Bill  1 
5 Bill  2 
6 Chad  2 
7 Bill  3 
+0

ありがとうございます。私のデータセットでは、固有の名前の総数は1600万であるため、グループ別の処理速度は非常に遅いです。プロセスを加速するための励ましがありますか? –

関連する問題