반응형
Python : Pandas 데이터 프레임의 두 열 (변수)을 기반으로 빈도 수를 가져옵니다.
안녕하세요, 다음 데이터 프레임이 있습니다.
Group Size
Short Small
Short Small
Moderate Medium
Moderate Small
Tall Large
동일한 행이 데이터 프레임에 나타나는 빈도를 계산하고 싶습니다.
Group Size Time
Short Small 2
Moderate Medium 1
Moderate Small 1
Tall Large 1
groupby의 size다음을 사용할 수 있습니다 .
In [11]: df.groupby(["Group", "Size"]).size()
Out[11]:
Group Size
Moderate Medium 1
Small 1
Short Small 2
Tall Large 1
dtype: int64
In [12]: df.groupby(["Group", "Size"]).size().reset_index(name="Time")
Out[12]:
Group Size Time
0 Moderate Medium 1
1 Moderate Small 1
2 Short Small 2
3 Tall Large 1
시도해 볼 수도 있습니다. pd.crosstab()
Group Size
Short Small
Short Small
Moderate Medium
Moderate Small
Tall Large
pd.crosstab(df.Group,df.Size)
Size Large Medium Small
Group
Moderate 0 1 1
Short 0 0 2
Tall 1 0 0
편집 : 밖으로 나가기 위해
pd.crosstab(df.Group,df.Size).replace(0,np.nan).\
stack().reset_index().rename(columns={0:'Time'})
Out[591]:
Group Size Time
0 Moderate Medium 1.0
1 Moderate Small 1.0
2 Short Small 2.0
3 Tall Large 1.0
반응형
'Program Club' 카테고리의 다른 글
| 파일 대화 상자 열기, 여러 Excel 확장에 대해 하나의 필터? (0) | 2020.12.15 |
|---|---|
| 파이썬에서 문자열의 모든 문자 인스턴스를 삭제하는 방법은 무엇입니까? (0) | 2020.12.15 |
| 생성자의 C ++ 가상 함수 (0) | 2020.12.15 |
| 현재 Magento 사용자입니까? (0) | 2020.12.14 |
| UIImageView에서 이미지 제거 (0) | 2020.12.14 |