초보자를위한 Pandas — 데이터 프레임 재구성 — 2 부

긴 형식에서 넓은 형식으로 데이터 변환

Unsplash에 billow926의 사진

지난 튜토리얼에서 우리 는 와이드 데이터 양식을 긴 양식으로 재구성하는 Pandas melt 함수를 시연했습니다 . 이 튜토리얼은 반대 과정에 초점을 맞출 것입니다. 모든 사람을 동일한 페이지에 표시하기 위해 해결하려는 문제를 시각적으로 보여줍니다.

긴 형식에서 넓은 형식 (사용자 별 이미지)

우리 중 대부분은 Microsoft Excel을 사용할 때 이와 같은 시나리오에서 작업했습니다. 예, 넓은 형태의 테이블은 유명한 피벗 테이블과 비슷합니다. 우리는 일반적으로 특정 차원 (이 경우 비용 범주)에 따라 데이터를 요약하는 데 사용합니다. 이러한 요약 작업을 수행하기 위해 Pandas는 기성품 함수 인 pivot_table을 제공 합니다. 이 기능을 구현하는 단계별 접근 방식은 다음과 같습니다.

가정 및 권장 사항

실습은 마스터 프로그래밍의 핵심입니다. 튜토리얼을 따라하면서 코드를 계속 구현하는 것이 좋습니다. 샘플 데이터관련된 목성 노트북 에서 사용할 수있는 Scenario_3 폴더이 GitHub의 링크 .

GitHub를 처음 사용하고 배우고 싶다면 튜토리얼을 참조하십시오 . 시스템에 새 Python 환경을 설정하려면 자습서 를 진행하십시오 .

다음은 튜토리얼에 사용 된 Python 개념 및 Pandas 함수 / 메서드 목록입니다.

팬더 기능

  • read_csv
  • 피벗 테이블

1 단계 — 데이터 준비

이 자습서에서는 2018 년, 2019 년 및 2020 년 동안 다양한 비용 범주에서 가족이 발생한 월별 비용을 포함하는 더미 데이터 세트를 만들었습니다.이 데이터 세트 및 샘플 데이터 스냅 샷에 대한 사전은 다음과 같습니다.

  • 년-역년
  • 월 — 한 해의 월
  • 비용 범주 — 가족이 지출 한 범주
  • 비용 가치 — 가족에 의해 발생한 비용 가치
  • 샘플 데이터 (사용자 별 이미지)

데이터를 사용할 수있게되면 다음 단계는 데이터를 Python 환경으로 가져 오는 것입니다.

#### Sample Code
#### Importing Pandas
import pandas as pd
#### Importing Data File - Change the Windows Folder Location
imp_data = pd.read_csv("C:\\Ujjwal\\Analytics\\Git\\Scenario_3\\Expenses_Long.csv")

3 단계 — 광범위한 형태의 비용 테이블 만들기 (집계 없음).

데이터를 읽은 후 Pandas pivot_table 함수를 적용 하여 넓은 형식의 입력 데이터 프레임을 만듭니다.

#### Create the wide-form
Wide_data = pd.pivot_table(imp_data,index=["Year","Expense Category"], columns="Month",values = "Expense Value").reset_index()
#### Sample Output
Wide_data.head()

      
Sample Output (Image by Author)

pivot_table 함수는 입력으로서 다음과 같은 파라미터를 기대 :

  • 데이터 프레임 이름pivot_table 함수 의 첫 번째 인수 는 작업을 적용해야하는 데이터 프레임입니다.
  • 인덱스 — 이것은 엑셀 피벗 테이블의 행 섹션 과 동의어입니다 . index 매개 변수에 전달 된 열 이름 은 최종 데이터 프레임의 행을 형성합니다.
  • Excel 피벗 테이블의 열 섹션 과 동의어입니다 . 열 매개 변수에 전달 된 열 이름 은 최종 데이터 프레임의 새 열을 형성합니다.
  • Excel 피벗 테이블의 값 섹션 과 동의어입니다 . values ​​매개 변수에 전달 된 열 이름 은 최종 데이터 프레임의 셀을 채우는 데 사용됩니다.
  • reset_index ()reset_index 함수를 사용하여 pivot_table에 의해 생성 된 다중 레벨 인덱스를 제거했습니다.
  • 색인, 열 또는 값 매개 변수에 여러 열전달 하려면 목록 형식으로 사용합니다 .
  • melt 함수 와 마찬가지로 pivot_table 은 새 피벗 데이터 프레임도 출력으로 반환합니다. 나중에 사용할 수 있도록이 출력을 새 변수 (이 경우 Wide_data)에 캡처합니다.

피벗 테이블이 Microsoft Excel의 가장 일반적인 기능 중 하나라는 사실을 알고 계셨습니까? Python에서 데이터 랭 글링 단계를 빠르게 구현하면 모델 구축 수명주기를 크게 줄일 수 있습니다. 위에 제시된 솔루션이 도움이 되었기를 바랍니다.

긴 형식으로 변환 할 때 데이터를 집계하는 방법을 알고 있습니까? 2018 년, 2019 년, 2020 년의 월 평균 비용을 다양한 비용 범주에서 계산할 수 있습니까? 답은 GitHub 저장소에 제공된 코드를 확인하세요 .

이 튜토리얼이 당신에게 도움이 되었다면 박수 치는 것을 잊지 마세요.

행복한 학습! ! ! !

Suggested posts

Leetcode를 사용해야합니까?

Leetcode를 사용해야합니까?

다시 오신 것을 환영합니다! 프로그래밍 기술을 배우고 개발하기위한 가장 인기있는 웹 사이트 중 하나는 Leetcode입니다. 이 웹 사이트를 통해 기본적으로 대부분의 프로그래밍 언어에 대한 기술을 연마 할 수 있지만 인터뷰 준비를 위해 꽤 많이 언급 한 것도 보았습니다.

최고의 성능 달성 : 작업자 스레드로 10 배 더 빠른 Node.Js

다양한 작업자 스레드 구성을 사용하여 매우 집약적 인 CPU 작업 처리량에 직면합니다.

최고의 성능 달성 : 작업자 스레드로 10 배 더 빠른 Node.Js

최근 자바 스크립트를 병렬로 실행할 가능성이 있다는 것을 알게되었고 Node.JS 작업자 스레드를 사용해 보았습니다. 그리고 얻은 결과에 대해 기쁩니다.