2016-05-06 3 views
0

パンダデータフレーム:私は、次のdfにいるかの発生数と列を追加するために、他の列で

Col1 Col2 
test Something 
test2 Something 
test3 Something 
test Something 
test2 Something 
test5 Something 

私は私が使用しようとした

Col1 Col2   Occur 
test Something  2 
test2 Something  2 
test3 Something  1 
test Something  2 
test2 Something  2 
test5 Something  1 

を取得したいです

df["Occur"] = df["Col1"].value_counts() 

しかし、それは役に立たなかった。私は「COL1」on「にはNaN」

答えて

2

groupbyの列フルを発生し得、その後、あなたが列として追加することができますように、元のDFに並んそのインデックスにシリーズを返すためにCol2transformを適用しました:

In [3]: 
df['Occur'] = df.groupby('Col1')['Col2'].transform(pd.Series.value_counts) 
df 

Out[3]: 
    Col1  Col2 Occur 
0 test Something  2 
1 test2 Something  2 
2 test3 Something  1 
3 test Something  2 
4 test2 Something  2 
5 test5 Something  1 
関連する問題