pandas groupby().sum()의 출력으로 새 열을 채우는 방법
데이터 작업 시 다음과 같은 작업이 가능합니다. 특정 계산 결과를 기반으로 DataFrame에 새 열을 만드는 데 유용합니다. 그러한 계산 중 하나는 pandas의 groupby() 및 sum() 함수를 사용하여 열의 특정 그룹에 대한 값의 합계를 찾는 것입니다. 그러나 이 합계로 새 열을 생성하려고 하면 NaN 값이 나타날 수 있습니다.
다음 코드를 고려하세요.
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] }) group = df['Data3'].groupby(df['Date']).sum() df['Data4'] = group
이 코드를 실행할 때 다음과 같은 결과가 나타날 것으로 예상할 수 있습니다. (그룹 변수에 표시된 대로) 각 날짜에 대해 올바른 계산 값을 가져오지만 대신 새로 생성된 Data4 열에서 NaN 값을 얻습니다.
이 문제를 해결하려면 문제가 발생하면 변환 기능을 사용해야 합니다. 이 함수는 DataFrame에 맞춰 인덱스가 정렬된 Series를 반환하므로 이를 새 열로 추가할 수 있습니다. 수정된 코드는 다음과 같습니다.
df['Data4'] = df['Data3'].groupby(df['Date']).transform('sum')
이 수정을 통해 원하는 합계 값을 포함하는 새 Data4 열을 성공적으로 생성할 수 있습니다.
위 내용은 새 열에 pandas groupby().sum() 결과를 추가할 때 NaN 값을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!