다단계 또는 계층적 데이터를 위한 Pandas의 MultiIndex

다단계 또는 계층적 데이터를 위한 Pandas의 MultiIndex

Pandas의 MultiIndex는 인덱스에서 둘 이상의 행과 열을 선택할 수 있는 다중 수준 또는 계층적 개체입니다. 또한 특히 고차원 데이터 작업을 위해 정교한 데이터 분석 및 조작을 생성할 수 있습니다. 이 튜토리얼에서는 Pandas의 MultiIndex 기능을 살펴보겠습니다. 이 블로그 하단에서 이 튜토리얼의 전체 비디오를 볼 수 있습니다.

여기서 아이디어는 계층 구조도 포함하는 인덱스가 있다는 것입니다. 이전에 Pandas를 사용해 본 적이 있다면 Pandas의 데이터 프레임에 인덱스가 포함되어 있다는 것을 알고 있으므로 여기에 추가 레이어를 추가할 것입니다. 이렇게 하면 데이터에 대한 계층 구조가 실제로 있는지 여부에 따라 데이터 인덱싱 및 재구성이 더 쉬워집니다.

예를 들어 유명한 Gapminder 데이터 세트를 사용할 것입니다. 이것은 실제로 MultiIndex입니다. 계층 구조가 있으므로 대륙은 국가로 드릴하고 모든 국가는 여러 해로 드릴할 수 있습니다. 그래서 우리는 이 색인을 조작할 수 있고 이 MultiIndex를 사용할 때 코딩이 훨씬 쉬워질 것입니다. Gapminder 데이터 세트를 슬라이싱하고 재구성하는 방법을 살펴보겠습니다.

목차

Pandas에서 MultiIndex를 사용하는 방법

Gapminder 데이터 세트를 사용할 것입니다. 이것을 설치하지 않은 경우 PIP 설치 Gapminder를 수행하려고 합니다. Pandas도 가져올 예정입니다. Python의 Anaconda 배포판을 사용하고 있습니다. 이 경우 해당 Pandas는 이미 설치됩니다. Gapminder 가져오기를 수행한 다음 이 데이터를 살펴보겠습니다.

다단계 또는 계층적 데이터를 위한 Pandas의 MultiIndex

여기에서 볼 수 있듯이 다시 인덱스 또는 계층 구조가 있습니다. 대륙, 국가, 그리고 1년이 있다고 해야 할까요. 현재 인덱스는 이와 같이 숫자일 뿐이며, 지금 바로 자체 인덱스를 설정할 예정입니다. 우리가 할 방법은 Gapminder를 사용하는 것입니다. 인덱스를 설정하겠습니다. 우리 는 그것을 대륙 , 국가, 그리고 연도에 설정할 입니다 .

다단계 또는 계층적 데이터를 위한 Pandas의 MultiIndex

이것은 결과를 저장하는 것이므로 변수를 두 번 호출할 필요가 없으며 조금 더 효율적입니다. 이제 여기에 색인(콘텐츠, 국가, 연도)이 있고 이것이 다중 색인임을 알 수 있습니다.

우리가 여기서 할 수 있는 몇 가지. 예를 들어 유럽 대륙의 모든 것을 원했다고 합시다. 이 데이터 프레임을 필터링하거나 슬라이스하고 싶습니다. gapminder.loc 을 사용한 다음 Europe을 입력 할 수 있습니다 . 당신은 loc에 익숙 할 것입니다. Pandas의 다른 상황에서 인덱스로 수행할 때 훨씬 더 쉽게 작동합니다.

다단계 또는 계층적 데이터를 위한 Pandas의 MultiIndex

이제 이것은 계층 구조에 존재합니다. 영국의 데이터만 원한다고 가정해 보겠습니다. 우리가 이것을 슬라이스할 수 있을 것 같지만 이것은 문제가 될 것입니다. 왜냐하면 우리가 이것을 인덱싱할 때 우리는 계층 구조를 사용하도록 고착되어 있기 때문입니다. 첫 번째 수준에서 시작한 다음 두 번째, 세 번째 등으로 드릴해야 합니다.

여러 수준을 포함하고 싶다면 여기에 전달하면 됩니다. 저는 유럽과 영국을 할 것입니다. 한 단계 더 나아가 1997을 입력할 수도 있습니다. 이제 해당 행의 결과를 볼 수 있습니다.

다단계 또는 계층적 데이터를 위한 Pandas의 MultiIndex

Pandas의 MultiIndex의 또 다른 좋은 점은 데이터를 재구성하기가 훨씬 쉽다는 것입니다. 나는 gapminder_pivotgapminder.unstack 을 할 수 있습니다 . 어떤 이유로 이 데이터 세트를 재구성해야 하는 경우 이 데이터 세트를 인쇄하면 이제 대륙, 국가, 연도가 열과 함께 표시되는 것을 볼 수 있습니다.

다단계 또는 계층적 데이터를 위한 Pandas의 MultiIndex

이제 반대 방향으로 하고 싶다고 가정해 보겠습니다. 내가 해야 할 일은 unpivot 이고 gapminder_pivot 을 할 것입니다 . 그것이 언스태킹이라면 이것은 gapminder_unpivot을 스태킹하는 것입니다.

다단계 또는 계층적 데이터를 위한 Pandas의 MultiIndex

이제 이 인덱스를 제거하고 재설정하고 다른 것으로 변경하려면 어떻게 해야 합니까? 이 경우 해야 할 일은 gapminder_unpivot뿐입니다. 우리는 reset_index 로 갈 것입니다 . 우리는 그 자리를 다시 만들 것입니다 . 우리는 그 자체를 저장할 필요가 없습니다. 조금 더 효율적일 뿐입니다. 그런 다음 gapminder_unpivot.

그것을 인쇄하면 원래 데이터로 돌아가고 인덱스가 있습니다. Python은 0부터 시작하는 인덱싱이기 때문에 숫자 시작은 0입니다.

다단계 또는 계층적 데이터를 위한 Pandas의 MultiIndex



LuckyTemplates의 Python: LuckyTemplates 데이터 보고서에서 Python 스크립팅을 설치하고 설정하는 방법
Python 스크립팅을 사용하여 날짜 테이블을 만드는 LuckyTemplates 보고서

결론

Pandas는 처음에 패널 데이터의 이름을 따서 명명되었습니다. 이는 실제로 여러 범주가 있는 특정 유형의 시계열 데이터인 패널 데이터로 작업하기 위한 것입니다. 이 경우 계층 구조를 갖는 것이 정말 의미가 있습니다.

이것은 고유한 행으로 작업하고 여러 열을 찾으려고 할 때 정말 잘 작동합니다.

성능에 관한 한 병합하는 경우 인덱스가 필요하지 않을 수 있지만 여기에서는 병합하지 않았습니다. 우리는 단지 운영하고, 접근하고, 인덱싱하고, 재구성하는 등의 작업을 했을 뿐입니다. 그러나 코딩 효율성은 확실히 큰 이점입니다.

이것이 Pandas의 MultiIndex에 대한 모든 것입니다. 이것이 당신이 사용할 수있는 것이기를 바랍니다. 오늘 Pandas에 대해 조금 새로운 것을 배웠습니다.

모두 제일 좋다!


파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

파이썬에서 자기란 무엇인가: 실제 사례

R에서 RDS 파일을 저장하고 로드하는 방법

R에서 RDS 파일을 저장하고 로드하는 방법

R의 .rds 파일에서 개체를 저장하고 로드하는 방법을 배웁니다. 이 블로그에서는 R에서 LuckyTemplates로 개체를 가져오는 방법도 다룹니다.

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

첫 N 영업일 재방문 – DAX 코딩 언어 솔루션

이 DAX 코딩 언어 자습서에서는 GENERATE 함수를 사용하는 방법과 측정값 제목을 동적으로 변경하는 방법을 알아봅니다.

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

LuckyTemplates에서 다중 스레드 동적 시각적 개체 기술을 사용한 인사이트 쇼케이스

이 자습서에서는 다중 스레드 동적 시각적 개체 기술을 사용하여 보고서의 동적 데이터 시각화에서 통찰력을 만드는 방법을 다룹니다.

LuckyTemplates의 컨텍스트 필터링 소개

LuckyTemplates의 컨텍스트 필터링 소개

이 기사에서는 필터 컨텍스트를 살펴보겠습니다. 필터 컨텍스트는 모든 LuckyTemplates 사용자가 처음에 배워야 하는 주요 주제 중 하나입니다.

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates 온라인 서비스에서 앱을 사용하기 위한 최고의 팁

LuckyTemplates Apps 온라인 서비스가 다양한 소스에서 생성된 다양한 보고서 및 인사이트를 관리하는 데 어떻게 도움이 되는지 보여주고 싶습니다.

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

시간 경과에 따른 이익 마진 변화 분석 - LuckyTemplates 및 DAX를 사용한 분석

LuckyTemplates에서 측정 분기 및 DAX 수식 결합과 같은 기술을 사용하여 수익 마진 변경을 해결하는 방법을 알아봅니다.

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

DAX Studio의 데이터 캐시에 대한 구체화 아이디어

이 자습서에서는 데이터 캐시의 구체화 아이디어와 결과 제공 시 DAX 성능에 미치는 영향에 대해 설명합니다.

LuckyTemplates를 사용한 비즈니스 보고

LuckyTemplates를 사용한 비즈니스 보고

지금까지 Excel을 계속 사용하고 있다면 지금이 비즈니스 보고 요구 사항에 LuckyTemplates를 사용하기 시작하는 가장 좋은 시기입니다.

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것

LuckyTemplates 게이트웨이란? 당신이 알아야 할 모든 것