Groupby 작업 중 다른 열 유지
Pandas 데이터 프레임에서 그룹화 작업을 수행할 때, 그렇지 않은 열을 유지해야 하는 경우가 많습니다. 그룹화 또는 집계 프로세스에 참여합니다. 기본적으로 이러한 다른 열은 작업이 완료되면 삭제됩니다. 보관된 열에 중요한 정보가 포함되어 있으면 문제가 될 수 있습니다.
다음 데이터 프레임을 고려하세요.
item diff otherstuff 0 1 2 1 1 1 1 2 2 1 3 7 3 2 -1 0 4 2 1 3 5 2 4 9 6 2 -6 2 7 3 0 0 8 3 2 9
"item" 열을 기준으로 데이터 프레임을 그룹화하고 "diff" 열의 최소값을 찾으면 결과 데이터 프레임은 다음과 같습니다.
item diff 0 1 1 1 2 -6 2 3 0
"otherstuff" 열이 삭제된 것을 확인하세요. 이 열을 유지하려면 idxmin() 메서드를 사용하여 최소 diff 요소의 인덱스를 가져온 다음 다음 항목을 선택할 수 있습니다.
>>> df.loc[df.groupby("item")["diff"].idxmin()] item diff otherstuff 1 1 1 2 6 2 -6 2 7 3 0 0 [3 rows x 3 columns]
또 다른 방법은 "diff" 열을 기준으로 데이터 프레임을 정렬한 다음 각 항목 그룹의 첫 번째 요소를 가져오는 것입니다.
>>> df.sort_values("diff").groupby("item", as_index=False).first() item diff otherstuff 0 1 1 2 1 2 -6 2 2 3 0 0 [3 rows x 3 columns]
이 두 방법 모두 "기타" 열을 유지하면서 원하는 결과를 생성합니다. 행 내용이 동일하더라도 결과 인덱스가 다를 수 있다는 점에 유의하세요.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3