Python: pandas dataframe의 두 열(변수)을 기준으로 빈도수를 구하면 일부 행이 나타납니다.
안녕하세요 아래 데이터 프레임을 가지고 있습니다.
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's를 사용할 수 있습니다.
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
팬더 1.1 이후 업데이트value_counts
이제 여러 열을 허용합니다.
df.value_counts(["Group", "Size"])
시도해 볼 수도 있습니다.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
다른 가능성은 다음과 같습니다.aggfunc='size'
df_solution = df.pivot_table(index=['Group','Size'], aggfunc='size')
언급URL : https://stackoverflow.com/questions/33271098/python-get-a-frequency-count-based-on-two-columns-variables-in-pandas-datafra
'source' 카테고리의 다른 글
백업만 복사 옵션의 의미는 무엇입니까? (0) | 2023.09.07 |
---|---|
SQL에서 업데이트를 위해 서브스트링을 사용하려면 어떻게 해야 합니까? (0) | 2023.09.07 |
SQL 쿼리는 열 값이 테이블 B에 없을 때 테이블 A에서 행을 가져와 테이블 B에 저장할 것을 계산합니다. (0) | 2023.09.07 |
MariaDB 클러스터 - 하나의 노드가 다른 노드보다 느림 (0) | 2023.09.07 |
Microsoft를 참조합니다.SqlServer.스모들 (0) | 2023.09.07 |