>백엔드 개발 >파이썬 튜토리얼 >다른 방법을 사용하여 Pandas DataFrame을 어떻게 피벗할 수 있나요?

다른 방법을 사용하여 Pandas DataFrame을 어떻게 피벗할 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2025-01-01 10:22:10455검색

How Can I Pivot a Pandas DataFrame Using Different Methods?

데이터프레임을 피벗하려면 어떻게 해야 하나요?

개요

DataFrame을 피벗하려면 데이터 방향을 변경하기 위해 데이터를 재배열해야 합니다. 행은 열이 되고, 열은 행이 됩니다. 이는 Pandas의ivot_table, groupby unstack, set_index unstack, 피벗 및 크로스탭 방법을 포함하여 여러 가지 방법으로 수행할 수 있습니다.

피벗 방법

  • pivot_table은 데이터 피버팅. 피벗된 DataFrame의 행, 열, 값은 물론 사용할 집계 함수도 지정할 수 있습니다.
  • groupby unstack은 데이터 프레임을 생성하기 위한 groupby 및 unstack 메소드의 조합입니다. 여기서는 데이터를 특정 열로 그룹화한 다음 그룹화하여 생성된 새 인덱스의 레벨을 unstack하여 데이터를 피벗합니다.
  • set_index unstack은 데이터를 피벗하는 데 유용한 또 다른 기술입니다. set_index는 DataFrame의 인덱스를 지정된 열로 설정하고 unstack은 현재 계층적 인덱스를 해당 셀의 값이 있는 열 헤더로 변경합니다.
  • pivot은 데이터를 피벗하는 스칼라 방법입니다. . 스칼라(1차원) 값 열에만 사용해야 합니다. 이 방법은 데이터 프레임 열을 행 인덱스로 피벗하거나 행에서 열 매트릭스 값으로 피벗할 수 있습니다.
  • crosstab은 인덱스/행 및 열을 행 및 열 헤더로 사용하여 교차표를 쉽게 생성할 수 있는ivot_table의 특수 버전입니다. .

코드 데모

다음은 DataFrame의 간단한 예입니다. 피벗:

import pandas as pd

# Create a DataFrame name df
df = pd.DataFrame({'Name' : ['Alice', 'Bob', 'Carol', 'Dave'],
                   'Age' : [20, 25, 30, 35],
                   'City' : ['New York', 'Boston', 'Chicago', 'Dallas']})

# Pivot the DataFrame using pivot_table method
df_pivoted = df.pivot_table(index = 'Name', columns = 'City', values = 'Age')

# Display the pivoted DataFrame
print(df_pivoted)

출력:

City    Boston  Chicago  Dallas  New York
Name
Alice    NaN      NaN      NaN       20
Bob      25      NaN      NaN       NaN 
Carol    NaN      30      NaN       NaN 
Dave     NaN      NaN      35       NaN 

결론

pandas의 피벗 방법은 데이터를 교체하여 긴 형식에서 와이드 형식으로 변환하는 데 사용됩니다. 데이터 프레임의 행과 열. 이러한 모든 방법은 복잡한 수준의 데이터를 이해하는 데 매우 유용하므로 필요에 따라 위에 설명된 방법 중 하나를 선택할 수 있습니다. 데이터 프레임 피버팅에 대한 귀하의 의심이 명확해지기를 바랍니다. 문제가 발생하면 언제든지 이 토론을 계속하세요.

위 내용은 다른 방법을 사용하여 Pandas DataFrame을 어떻게 피벗할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:내 여행의 시작다음 기사:내 여행의 시작