처음과 마지막 항목의 값이 중복

0

질문

dataframe 다음과 같이

index    col1     col2    col3    col4
  0      11/20    11/26   abc     35
  1      11/21    11/24   xxx     30
  2      11/22    11/27   abc     20

col3 가 동일한 값(중복된 값을 기준으로). 나 sum() col4 에서 행에 기초 col3 값이 있습니다.

그래서 이 경우 나

df = df.groupby(['col3'])[['col4']].sum()

그러나 이 방법으로 나

index    col3    col4
  0      abc     55
  1      xxx     30

를 보존 할 수있는 첫 번째 항목의 값의 중복 col1(11/20)그리고 마지막의 발생을 col2(11/27),그래서 최종 제품을 것처럼 보인

index    col1     col2    col3    col4
  0      11/20    11/27   abc     55
  1      11/21    11/24   xxx     30

pandas python
2021-11-24 05:23:58
2

최고의 응답

2

한 가지 방법을 사용하여 pandas.DataFrame.groupby.agg:

new_df = df.groupby("col3", as_index=False).agg({"col1": "first",
                                                 "col2": "last",
                                                 "col4": "sum"})
print(new_df)

출력:

  col3   col1   col2  col4
0  abc  11/20  11/27    55
1  xxx  11/21  11/24    30
2021-11-24 05:27:44

변환 col1/col2datetime 및를 사용하여 min/max 수 있습니다 더 강력하는 경우 우리는 항상"처음"(초기)날짜와는"마지막"(최신)날짜입니다. (을 다시 이에 따라 사용자)
Henry Ecker
0

팬더 제공 firstlast 집계 등이 있습니다.

2021-11-24 05:28:04

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................