콜백 없이 Pandas DataFrame에 그룹의 순차 카운터 열 추가
Pandas 라이브러리에서는 다음보다 더 효율적인 방법을 활용할 수 있습니다. 그룹화된 데이터프레임에 순차적 카운터 열을 추가하는 콜백 함수. cumcount() 함수는 대체 접근 방식을 제공합니다. 구현 방법은 다음과 같습니다.
import pandas as pd df = pd.DataFrame( columns=" index c1 c2 v1 ".split(), data=[ [0, "A", "X", 3], [1, "A", "X", 5], [2, "A", "Y", 7], [3, "A", "Y", 1], [4, "B", "X", 3], [5, "B", "X", 1], [6, "B", "X", 3], [7, "B", "Y", 1], [8, "C", "X", 7], [9, "C", "Y", 4], [10, "C", "Y", 1], [11, "C", "Y", 6], ], ).set_index("index", drop=True) # Add a sequential counter column df["seq"] = df.groupby(["c1", "c2"]).cumcount() + 1 print(df)
이 코드 조각은 데이터프레임을 'c1'과 'c2'로 그룹화한 다음 cumcount() 함수를 각 그룹에 적용하여 해당 그룹 내의 행 수를 계산합니다. 결과는 각 그룹의 순차 개수를 포함하는 추가 'seq' 열이 있는 데이터 프레임입니다.
c1 c2 v1 seq 0 A X 3 1 1 A X 5 2 2 A Y 7 1 3 A Y 1 2 4 B X 3 1 5 B X 1 2 6 B X 3 3 7 B Y 1 1 8 C X 7 1 9 C Y 4 1 10 C Y 1 2 11 C Y 6 3
이 접근 방식은 콜백 함수가 필요하지 않으며 순차 카운터 열을 추가하기 위한 보다 간결하고 효율적인 솔루션을 제공합니다. 그룹화된 Pandas 데이터프레임으로.
위 내용은 그룹화된 Pandas DataFrame에 순차적 카운터 열을 효율적으로 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!