데이터 프레임이 있고 두 개의 키 df.groupby(['key1',key2'])
으로 그룹화했습니다. 각 key2 항목에 대해 key1 값의 비율을 어떻게 표시합니까?python pandas groupby : key1의 key2 값의 백
0
A
답변
3
호 회 다음 "K1"및 ("K1", "K2")을위한 div
할 GROUPBY :
import pandas as pd
k1 = ["a", "a", "a", "a", "b", "b", "b"]
k2 = ["x", "x", "y", "y", "x", "y", "y"]
df = pd.DataFrame({"k1":k1, "k2":k2})
df.groupby(["k1", "k2"]).k2.count().div(
df.groupby("k1").k1.count().astype(float), level=0)
출력 :
k1 k2
a x 0.500000
y 0.500000
b x 0.333333
y 0.666667
6
여기 하나 GROUPBY를 사용하는 다른 방법이다 성명서.
k1을 그룹화하고 k2 열을 선택하고 람다 함수를 적용하십시오. 람다는 K1에서 K2 의 각 수준에 대한 주파수의 수를 가져온 다음 우리는 K1의 수에 의해 분할 :
In [1]: df.groupby('k1')['k2'].apply(lambda x: pd.value_counts(x)/x.count().astype(float))
Out[1]:
k1
a x 0.500000
y 0.500000
b y 0.666667
x 0.333333
성능 :
HYRY의 방법
100 loops, best of 3: 3.07 ms per loop
내 방법 :
1000 loops, best of 3: 1.98 ms per loop
관련 문제
- 1. Python Pandas groupby 구문
- 2. python pandas groupby 처음으로
- 3. groupby - python pandas 데이터 프레임
- 4. Python Pandas : 피벗 groupby 개체
- 5. Python pandas groupby 메서드가 제대로 작동하지 않습니다.
- 6. Python : Pandas : Groupby & Pivot 테이블에 행이 없습니다.
- 7. Python Pandas : Groupby 및 다중 열 적용
- 8. Python Pandas Groupby 날짜 시간 열 삭제
- 9. pandas groupby 내림차순 정렬
- 10. pandas groupby last n
- 11. Pandas Groupby 오늘의 이름
- 12. multiindex가없는 Pandas groupby 열
- 13. 새 Pandas Groupby API 변경
- 14. Pandas groupby 그룹을 열로 변환하십시오.
- 15. 변환 전후의 Pandas groupby 인덱싱
- 16. pandas groupby : 효율적인 조건부 집계?
- 17. pandas groupby to nested json
- 18. dict이 포함 된 Pandas groupby
- 19. python pandas : groupby apply 함수는 이전 행을 봅니다.
- 20. groupby 카운트를 수행 할 때 python pandas 오류가 발생했습니다.
- 21. Python pandas 그룹화 문제
- 22. Pandas GroupBy CSV의 대형 데이터 세트
- 23. 인덱스 값을 시작하여 Pandas Groupby/Grouper 그룹
- 24. Pandas groupby datatime index, possible bug
- 25. Pandas groupby - 열 값에 의한 평균 확대
- 26. pandas groupby 개체 인덱스가 FUBAR로 바뀝니다
- 27. 열 순서가 Pandas Groupby Agg 함수
- 28. Pandas - GroupBy 다음 원본 테이블에 병합
- 29. Groupby Pandas DataFrame을 사용하여 STD를 수동으로 계산
- 30. Pandas groupby/aggregate와 결합 된 백분위 수
고마워요, 제가 찾고있는 것이 었습니다. – gus
안녕하세요, 이것이 당신이 찾고 있던 대답이라면 받아들이는 데 도움이 될 것입니다. – Will