반응형
질문
저는 데이터셋을 가지고 있습니다.
category
cat a
cat b
cat a
다음과 같이 고유한 값과 그 빈도를 보여주는 결과를 반환하고 싶습니다.
category freq
cat a 2
cat b 1
답변
value_counts()
를 사용하십시오. @DSM이 의견을 남겼습니다.
In [37]:
df = pd.DataFrame({'a':list('abssbab')})
df['a'].value_counts()
Out[37]:
b 3
a 2
s 2
dtype: int64
또한 groupby
와 count
도 있습니다. 여기에는 여러 가지 방법이 있습니다.
In [38]:
df.groupby('a').count()
Out[38]:
a
a
a 2
b 3
s 2
[3 rows x 1 columns]
온라인 문서를 참조하십시오. the online docs.
원래 데이터프레임에 다시 빈도를 추가하려면 transform
을 사용하여 정렬된 인덱스를 반환하십시오:
In [41]:
df['freq'] = df.groupby('a')['a'].transform('count')
df
Out[41]:
a freq
0 a 2
1 b 3
2 s 2
3 s 2
4 b 3
5 a 2
6 b 3
[7 rows x 2 columns]
반응형
댓글