콜백 없이 Pandas Dataframe에 그룹의 순차 카운터 열 추가
제공된 Python 코드는 순차 카운터를 추가하는 한 가지 방법을 보여줍니다. 특정 열('c1' 및 'c2')에 대해 그룹별 작업을 수행하고 사용자 지정을 적용하여 열(seq)을 데이터프레임에 추가합니다. 기능. 그러나 콜백 없이 이 결과를 얻는 더 효율적인 접근 방식이 있을 수 있습니다.
한 가지 대안은 그룹 내에서 순차 번호를 생성하는 편리한 방법을 제공하는 cumcount() 함수를 활용하는 것입니다. 향상된 솔루션은 다음과 같습니다.
df['seq'] = df.groupby(['c1', 'c2']).cumcount() + 1
이 줄은 'c1' 및 'c2' 열로 정의된 각 그룹의 순차 번호를 포함하는 'seq'라는 새 열을 데이터프레임에 추가합니다. cumcount() 함수는 지정된 그룹을 따라 적용되며 결과는 0 대신 1부터 계산을 시작하기 위해 1씩 이동합니다.
수정된 데이터 프레임의 출력은 다음과 같습니다.
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
cumcount()를 사용하면 순차 카운터 열이 원래 데이터 프레임에 추가되어 콜백 함수가 필요하지 않고 코드입니다.
위 내용은 Pandas DataFrame 그룹에 순차적 카운터 열을 효율적으로 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!