티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

Count the frequency that a value occurs in a dataframe column

pandas dataframe 열에서 값이 나타나는 빈도를 계산하는 방법

 문제 내용 

I have a dataset

데이터셋이 있습니다.
category
cat a
cat b
cat a

 

I'd like to be able to return something like (showing unique values and frequency)

고유 값 및 빈도를 표시하는 내용을 반환할 수 있도록하려면 어떻게해야 하나요?
category   freq 
cat a       2
cat b       1

 

 

 높은 점수를 받은 Solution 

Use value_counts() as @DSM commented.

@DSM이 언급했듯이 value_counts()를 사용하세요.
In [37]:
df = pd.DataFrame({'a':list('abssbab')})
df['a'].value_counts()

Out[37]:

b    3
a    2
s    2
dtype: int64

 

Also groupby and count. Many ways to skin a cat here.

또한 groupby 및 count도 사용할 수 있습니다. 이곳에서 고양이를 잡는 여러 가지 방법이 있습니다.
In [38]:
df.groupby('a').count()

Out[38]:

   a
a   
a  2
b  3
s  2

[3 rows x 1 columns]

 

See the online docs.

온라인 문서를 참조하세요.

 

If you wanted to add frequency back to the original dataframe use transform to return an aligned index:

빈도를 원래 데이터프레임에 추가하려면 일치하는 인덱스를 반환하도록 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]

 

 

 가장 최근 달린 Solution 

As everyone said, the faster solution is to do:

다른 사람들이 말한 것처럼, 빠른 솔루션은 다음과 같이 수행하는 것입니다:
df.column_to_analyze.value_counts()

 

But if you want to use the output in your dataframe, with this schema:

하지만 이 스키마(schema)에서 출력을 데이터프레임에서 사용하려면 다음과 같이 할 수 있습니다:
df input:

category
cat a
cat b
cat a

df output: 

category   counts
cat a        2
cat b        1 
cat a        2

 

you can do this:

다음을 수행할 수 있습니다:
df['counts'] = df.category.map(df.category.value_counts())
df 

 

 

출처 : https://stackoverflow.com/questions/22391433/count-the-frequency-that-a-value-occurs-in-a-dataframe-column

반응형
댓글
공지사항
최근에 올라온 글