여러 변수를 사용하여 긴 형식에서 넓은 형식으로 변경하는 Pandas
Pandas에서 데이터를 긴 형식에서 넓은 형식으로 변환하는 것은 어려울 수 있습니다. 특히 여러 변수가 변수인 경우에는 더욱 그렇습니다. 관련된. 이 질문은 피벗 기능을 사용하여 데이터를 재구성하는 방법을 탐구합니다.
제공된 원본 데이터는 다음과 같습니다.
Salesman Height product price Knut 6 bat 5 Knut 6 ball 1 Knut 6 wand 3 Steve 5 pen 2
원하는 와이드 형식은 다음과 같습니다.
Salesman Height product_1 price_1 product_2 price_2 product_3 price_3 Knut 6 bat 5 ball 1 wand 3 Steve 5 pen 2 NA NA NA NA
One Chris Albon이 제안한 접근 방식에서는 다음과 같이 피벗 기능을 사용합니다.
df.pivot(index='Salesman', columns='product', values='price')
이 접근 방식은 Salesman 및 product 열을 각각 행 및 열 인덱스로 사용하여 다중 수준 인덱스를 생성합니다. 가격 열은 값이 됩니다.
결과 데이터 프레임은 다음과 같습니다.
product bat ball wand Salesman Knut 5 1 3 Steve 2 NaN NaN
원하는 형식을 얻으려면 열을 쌓고 제품 및 가격 값을 추출하는 추가 단계가 필요합니다. 별도의 열. 이는 다음과 같이 stack 및 Reset_index 함수를 사용하여 달성할 수 있습니다.
df.pivot(index='Salesman', columns='product', values='price') \ .stack().reset_index() \ .rename(columns={'level_1':'product', 0:'price'})
최종 결과는 원하는 와이드 형식이 됩니다.
위 내용은 피벗 기능을 사용하여 여러 변수를 사용하여 긴 형식에서 넓은 형식으로 Pandas 데이터를 재구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!