groupby()를 사용하여 Pandas DataFrame의 열에 대해 계산을 수행하는 경우 함수를 사용하려면 결과를 다시 DataFrame에 통합해야 하는 경우가 많습니다. 이를 달성하는 한 가지 방법은 그룹화된 계산을 기반으로 새 열을 생성하는 것입니다.
제공된 예에서 목표는 각 날짜에 대한 Data3 열의 합계가 포함된 새 열 Data4를 생성하는 것입니다. .
제시된 코드는 그룹화된 결과를 새 열에 직접 할당하려고 시도하지만 NaN 값을 생성합니다. 이 문제를 해결하려면 대신 변환() 메서드를 사용해야 합니다.
df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum')
transform() 메서드는 DataFrame의 인덱스에 정렬된 시리즈를 반환하므로 이를 새 열로 직접 추가할 수 있습니다. . 'sum' 매개변수는 수행하려는 계산을 지정합니다.
아래 업데이트된 코드는 변환()의 올바른 적용을 보여줍니다.
import pandas as pd df = pd.DataFrame({ 'Date': ['2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05', '2015-05-08', '2015-05-07', '2015-05-06', '2015-05-05'], 'Sym': ['aapl', 'aapl', 'aapl', 'aapl', 'aaww', 'aaww', 'aaww', 'aaww'], 'Data2': [11, 8, 10, 15, 110, 60, 100, 40], 'Data3': [5, 8, 6, 1, 50, 100, 60, 120] }) df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum') print(df)
수정된 코드의 출력은 각 날짜에 대한 Data3의 합계를 계산하고 그 결과를 DataFrame에 새 열 Data4:
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로 추가합니다.
위 내용은 groupby().sum() 작업 후 Pandas DataFrame에 새 열을 올바르게 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!