그룹화된 DataFrames에서 용어 계산: Pandas 솔루션
이 문서에서는 그룹 내에서 용어를 계산하고 결과를 DataFrame에 요약하는 문제를 다룹니다. . Pandas를 사용하면 비효율적인 루프에 의존하지 않고도 이 작업을 우아하게 해결할 수 있습니다. 다음 DataFrame을 고려하세요.
df = pd.DataFrame([ (1, 1, 'term1'), (1, 2, 'term2'), (1, 1, 'term1'), (1, 1, 'term2'), (2, 2, 'term3'), (2, 3, 'term1'), (2, 2, 'term1') ])
목표는 'id'와 'group'을 기준으로 그룹화하고 각 'term'의 발생 횟수를 계산하는 것입니다. 이를 달성하기 위해 Pandas는 간결한 솔루션을 제공합니다.
df.groupby(['id', 'group', 'term']).size().unstack(fill_value=0)
이 작업은 DataFrame을 'id', 'group' 및 'term' 열로 그룹화하고 각 고유 조합의 발생 횟수를 세어 다음을 반환합니다. 다중 인덱스 열과 개수를 포함하는 'size'라는 단일 값 열이 있는 DataFrame을 요약했습니다. 'unstack' 기능은 아래와 같이 DataFrame을 각 고유 용어에 대해 하나의 열이 있는 넓은 형식으로 재구성합니다.
id group term size 1 1 term1 3 1 term2 2 2 term3 1 2 2 term1 3
타이밍 분석
더 큰 경우 데이터 세트를 사용하려면 이 솔루션의 성능 특성을 이해하는 것이 중요합니다. 이를 평가하려면 다음 코드를 사용하여 생성된 100만 개의 행이 있는 DataFrame을 고려해 보세요.
df = pd.DataFrame(dict(id=np.random.choice(100, 1000000), group=np.random.choice(20, 1000000), term=np.random.choice(10, 1000000)))
그룹화 및 계산 작업을 프로파일링하면 대규모 데이터세트도 효율적으로 처리할 수 있음이 드러납니다.
df.groupby(['id', 'group', 'term']).size().unstack(fill_value=0)
이러한 성능은 Pandas의 기본 그룹화 및 집계 메커니즘의 최적화된 특성에 기인하며 대규모 작업을 효율적으로 수행하기 위한 탁월한 도구입니다. 데이터 세트.
위 내용은 Pandas는 그룹화된 DataFrame 내에서 용어를 어떻게 효율적으로 계산할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!