값의 합계를 기반으로 새 열을 생성하려고 할 때 pandas의 groupby()를 사용하여 날짜별로 그룹화하면 NaN 결과가 나타납니다. 목표는 해당 날짜와 관련된 행 수에 관계없이 모든 날짜에 대한 특정 값의 총합을 표시하는 열을 추가하는 것입니다.
이를 달성하려면 변환 () 기능을 사용합니다. 행별로 작동하는 apply() 함수와 달리, 변환()은 그룹화된 데이터에 대해 계산을 수행하고 원래 데이터 프레임에 정렬된 계열을 반환합니다.
df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum')
다음은 단계별 분석입니다. :
다음 데이터 프레임을 고려하세요.
Date Sym Data2 Data3 0 2015-05-08 aapl 11 5 1 2015-05-07 aapl 8 8 2 2015-05-06 aapl 10 6 3 2015-05-05 aapl 15 1 4 2015-05-08 aaww 110 50 5 2015-05-07 aaww 60 100 6 2015-05-06 aaww 100 60 7 2015-05-05 aaww 40 120
transform() 함수 적용:
df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum')
결과:
Date Sym Data2 Data3 Data4 0 2015-05-08 aapl 11 5 55 1 2015-05-07 aapl 8 8 108 2 2015-05-06 aapl 10 6 66 3 2015-05-05 aapl 15 1 121 4 2015-05-08 aaww 110 50 55 5 2015-05-07 aaww 60 100 108 6 2015-05-06 aaww 100 60 66 7 2015-05-05 aaww 40 120 121
As 출력에서 알 수 있듯이 'Data4' 열은 이제 각 고유 'Date'에 대한 'Data3'의 합계를 보유합니다. 값입니다.
위 내용은 `transform()`을 사용하여 Pandas에서 그룹화된 합계로 새 열을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!