그룹화 작업 중에 Pandas DataFrame에서 다른 열을 어떻게 유지 관리할 수 있나요?

Barbara Streisand
풀어 주다: 2024-10-27 09:09:03
원래의
677명이 탐색했습니다.

How can I maintain other columns in a Pandas DataFrame during a groupby operation?

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
로그인 후 복사

데이터 프레임을 "항목" 열로 그룹화하고 "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]
로그인 후 복사

이 두 가지 방법 모두 "기타 항목" 열을 유지하면서 원하는 결과를 생성합니다. 행 내용이 동일하더라도 결과 인덱스가 다를 수 있다는 점에 유의하세요.

위 내용은 그룹화 작업 중에 Pandas DataFrame에서 다른 열을 어떻게 유지 관리할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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