12

私は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()

しかし、それは役に立ちませんでした。「NaN」でいっぱいのOccur列があります

4

3 に答える 3

5

groupby'col1' に適用し、元の df に合わせたインデックスを持つ Series を返すためtransformに onを適用して、列として追加できるようにします。Col2

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
于 2016-05-06T17:08:00.673 に答える