>백엔드 개발 >파이썬 튜토리얼 >`pd.melt()`를 사용하여 Pandas DataFrame을 넓은 형식에서 긴 형식으로 어떻게 변경할 수 있나요?

`pd.melt()`를 사용하여 Pandas DataFrame을 넓은 형식에서 긴 형식으로 어떻게 변경할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-12-22 14:43:14672검색

How Can I Reshape a Pandas DataFrame from Wide to Long Format Using `pd.melt()`?

Pandas를 사용하여 열을 행으로 변환

이 질문은 날짜 관련 정보가 여러 열에 분산되어 있는 CSV 데이터세트를 각 날짜가 포함되는 형식으로 변환해야 하는 필요성을 다룹니다. 자체 행이 있습니다. 이러한 변환을 달성하기 위해 사용자는 pd.melt 함수를 사용합니다.

원래 CSV 구조는 다음과 유사합니다.

location    name    Jan-2010    Feb-2010    March-2010
A           "test"  12          20          30
B           "foo"   18          20          25

원하는 결과는 위치, 이름, 날짜 및 열이 있는 테이블입니다. 값:

location    name    Date        Value
A           "test"  Jan-2010    12       
A           "test"  Feb-2010    20
A           "test"  March-2010  30
B           "foo"   Jan-2010    18       
B           "foo"   Feb-2010    20
B           "foo"   March-2010  25

pd.melt 함수는 데이터를 재구성하는 수단을 제공합니다. 여러 인수가 필요합니다:

  • id_vars: 테이블이 녹아도 변경되지 않은 열입니다. 이 경우 위치와 이름입니다.
  • var_name: 원래 열 이름(녹기 전의 이름)을 보유할 새 열의 이름입니다. 이 경우 Date.
  • value_name: 원본 데이터 열의 값을 보유할 열의 이름입니다. 이 경우 Value.
df.melt(id_vars=["location", "name"],
        var_name="Date",
        value_name="Value")

결과 DataFrame은 원하는 출력과 일치하며, 이제 각 달이 별도의 행을 차지합니다.

위 내용은 `pd.melt()`를 사용하여 Pandas DataFrame을 넓은 형식에서 긴 형식으로 어떻게 변경할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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