> 백엔드 개발 > 파이썬 튜토리얼 > 새 열에 pandas groupby().sum() 결과를 추가할 때 NaN 값을 방지하는 방법은 무엇입니까?

새 열에 pandas groupby().sum() 결과를 추가할 때 NaN 값을 방지하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-15 11:53:11
원래의
899명이 탐색했습니다.

How to Avoid NaN Values When Adding pandas groupby().sum() Results to a New Column?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿