판다에서 개체별로 한 그룹에 속한 그룹의 수를 구하는 방법은?
이것은 유용할 것입니다. 그래서 저는 제가 몇 개의 독특한 그룹에 대해 계산을 수행해야 하는지 알 수 있습니다.감사해요.
개체별 그룹을 다음과 같이 가정합니다.dfgroup
.
심플하고 빠르고 팬더식:ngroups
API별 그룹의 최신 버전(pandas > = 0.23)은 GroupBy 개체의 그룹 수를 저장하는 이(문서화되지 않은) 특성을 제공합니다.
# setup
df = pd.DataFrame({'A': list('aabbcccd')})
dfg = df.groupby('A')
# call `.ngroups` on the GroupBy object
dfg.ngroups
# 4
이것은 실제 그룹 자체를 반환하는 것과는 다릅니다.
내가 왜 이것보다 이것을 선호해야 합니까?len
?
브렌 반의 답변에서 언급된 것처럼, 당신은 다음과 같은 방법을 사용할 수 있습니다.len(dfg)
그룹의 수를 구합니다.하지만 그러면 안됩니다.(무엇이 무엇인지)의 구현을 살펴봅니다.len()
내부적으로 호출), 우리는 그것을(를) 봅니다.__len__
에 호출하여 그룹화된 인덱스 사전을 반환합니다.
dfg.groups
{'a': Int64Index([0, 1], dtype='int64'),
'b': Int64Index([2, 3], dtype='int64'),
'c': Int64Index([4, 5, 6], dtype='int64'),
'd': Int64Index([7], dtype='int64')}
작업 중인 그룹의 수에 따라 사전의 길이를 찾기 위해 사전을 생성하는 것은 낭비적인 단계입니다.ngroups
반면, 저장된 속성은 일정한 시간에 액세스할 수 있습니다.
이는 개체 특성에 문서화되어 있습니다.의 문제.len
, 그러나 그룹이 많은 GroupBy 개체의 경우 이 작업이 훨씬 더 오래 걸릴 수 있습니다.
하지만 제가 실제로 각 그룹의 크기를 원한다면요?
운이 좋으시네요.우리는 그것에 대한 기능이 있습니다.GroupBy.size
. 하지만 참고해주세요.size
NaNs도 계산합니다.NaN을 계산하지 않으려면 다음을 사용합니다.GroupBy.count
대신.
문서화된 대로, 다음과 같은 그룹의 수를 얻을 수 있습니다.len(dfgroup)
.
언급URL : https://stackoverflow.com/questions/27787930/how-to-get-number-of-groups-in-a-groupby-object-in-pandas
'programing' 카테고리의 다른 글
Oracle에서 로컬 변수를 정의하는 가장 간단한 방법은 무엇입니까? (0) | 2023.10.30 |
---|---|
OpenCSV: 사용자 지정 컬럼 헤더 및 사용자 지정 컬럼 위치를 사용하여 POJO에서 CSV 파일을 생성하는 방법은? (0) | 2023.10.30 |
PowerShell Invoke-WebRequest, 원본 파일 이름을 자동으로 사용하는 방법은? (0) | 2023.10.30 |
크롬이 로컬 jQuery 쿠키를 무시하는 이유는 무엇입니까? (0) | 2023.10.30 |
웹 브라우저에서 온블러와 포커스 아웃의 차이점은 무엇입니까? (0) | 2023.10.30 |