반응형
하나의 값을 제외하고 서로 거의 중복되는 여러 행이있는 pandas
데이터 프레임이 있습니다. 내 목표는 숫자 값을 합산하지 않고 이러한 행을 단일 행으로 병합하거나 "통합"하는 것입니다.
다음은 내가 작업중인 작업의 예입니다.
Name Sid Use_Case Revenue
A xx01 Voice $10.00
A xx01 SMS $10.00
B xx02 Voice $5.00
C xx03 Voice $15.00
C xx03 SMS $15.00
C xx03 Video $15.00
그리고 내가 원하는 것은 다음과 같습니다.
Name Sid Use_Case Revenue
A xx01 Voice, SMS $10.00
B xx02 Voice $5.00
C xx03 Voice, SMS, Video $15.00
"수익"열을 합산하고 싶지 않은 이유는 내 테이블이 "Use_Case"별로 다른 값을 갖는 대신 "수익"이 여러 번 나열되는 여러 기간에 걸쳐 피벗을 수행 한 결과이기 때문입니다. .
이 문제를 해결하는 가장 좋은 방법은 무엇입니까? groupby ()
함수를 살펴 봤지만 여전히 잘 이해하지 못합니다.
해결 방법
df = df.groupby('Name').agg({'Sid':'first',
'Use_Case': ', '.join,
'Revenue':'first' }).reset_index()
#change column order
print df[['Name','Sid','Use_Case','Revenue']]
Name Sid Use_Case Revenue
0 A xx01 Voice, SMS $10.00
1 B xx02 Voice $5.00
2 C xx03 Voice, SMS, Video $15.00
df = df.groupby(['Name','Sid','Revenue'])['Use_Case'].apply(', '.join).reset_index()
#change column order
print df[['Name','Sid','Use_Case','Revenue']]
Name Sid Use_Case Revenue
0 A xx01 Voice, SMS $10.00
1 B xx02 Voice $5.00
2 C xx03 Voice, SMS, Video $15.00
참조 페이지 https://stackoverflow.com/questions/36271413
반응형
'파이썬' 카테고리의 다른 글
파이썬 단 하나의 명령문으로 Python 목록에서 여러 항목 제거 (0) | 2020.11.06 |
---|---|
파이썬 bash 터미널에서 파일을 실행할 때 Matplotlib 플롯이 표시되지 않습니다. (0) | 2020.11.06 |
파이썬 Python : 어떻게 정확히 문자열을 가져 와서 분할하고 뒤집고 다시 결합 할 수 있습니까? (0) | 2020.11.06 |
파이썬 Pandas : 인형 가져 오기 (0) | 2020.11.06 |
파이썬 Jupyter 노트북에서 프로그래밍 방식으로 마크 다운 출력을 생성하는 방법은 무엇입니까? (0) | 2020.11.06 |
댓글