>백엔드 개발 >파이썬 튜토리얼 >Pandas DataFrame의 그룹 내에서 용어 발생을 효율적으로 계산하는 방법은 무엇입니까?

Pandas DataFrame의 그룹 내에서 용어 발생을 효율적으로 계산하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-12 17:11:14638검색

How to Efficiently Count Term Occurrences within Groups in a Pandas DataFrame?

Pandas 데이터 프레임에서 용어 개수별로 그룹화

문제:

다음과 같은 데이터 프레임이 주어졌습니다. 다음 열: id, group 및 term. 목표는 ID와 그룹의 각 고유 조합 내에서 각 용어의 발생 횟수를 결정하는 것입니다.

해결책:

루프 사용을 피하려면 groupby 및 Pandas의 크기 함수:

df.groupby(['id', 'group', 'term']).size().unstack(fill_value=0)

groupby 함수는 지정된 열(id, group 및 용어), 크기 함수는 각 조합의 발생 횟수를 계산합니다. unstack 함수는 개수가 행렬로 정렬되어 시각적으로 더욱 매력적인 테이블을 생성합니다.

결과는 처음 두 수준이 id와 그룹의 조합을 나타내고 세 번째 수준이 다중 인덱스 열이 있는 테이블입니다. 용어에 해당합니다. 표의 각 셀에는 해당 ID 및 그룹에 대해 특정 용어가 나타나는 횟수가 표시됩니다.

타이밍:

대규모 데이터 세트(예: 1,000,000행)의 경우 , 성능이 뛰어납니다.

df = pd.DataFrame(dict(id=np.random.choice(100, 1000000),
                       group=np.random.choice(20, 1000000),
                       term=np.random.choice(10, 1000000)))

앞서 언급한 접근 방식을 사용하면 경과시간은 약 1초입니다.

위 내용은 Pandas DataFrame의 그룹 내에서 용어 발생을 효율적으로 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.