>백엔드 개발 >파이썬 튜토리얼 >Pandas DataFrame을 목록 값이 있는 사전으로 변환하는 방법은 무엇입니까?

Pandas DataFrame을 목록 값이 있는 사전으로 변환하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-14 08:44:10323검색

How to Convert a Pandas DataFrame to a Dictionary with List Values?

Pandas DataFrame을 사전으로 변환

많은 데이터 조작 작업에서 Pandas DataFrame의 데이터를 편리한 형식으로 추출하는 것이 필요합니다. 일반적인 요구 사항 중 하나는 DataFrame을 Python 사전으로 변환하는 것입니다. 여기서 첫 번째 열의 요소는 키가 되고 같은 행에 있는 다른 열의 요소는 값이 됩니다.

다음을 고려하세요. 다음 DataFrame:

    ID   A   B   C
0   p    1   3   2
1   q    4   3   2
2   r    4   0   9

이 DataFrame을 다음의 사전으로 변환하고 싶습니다. form:

{'p': [1,3,2], 'q': [4,3,2], 'r': [4,0,9]}

해결책

이를 달성하기 위해 Pandas에서 제공하는 to_dict() 메서드를 활용할 수 있습니다. 그러나 DataFrame을 원하는 형식으로 정렬하려면 'ID' 열을 인덱스로 설정하고 .T를 사용하여 DataFrame을 전치해야 합니다. 또한 to_dict()에 orient 인수를 지정하여 각 열의 값 목록을 출력합니다.

다음 코드는 이 접근 방식을 보여줍니다.

df.set_index('ID').T.to_dict('list')

이렇게 하면 원하는 사전이 생성됩니다.

{'p': [1, 3, 2], 'q': [4, 3, 2], 'r': [4, 0, 9]}

대체 옵션

Pandas는 기본 dict 형식 외에도 다음을 제공합니다. orient 인수를 사용하여 사전을 출력하기 위한 다양한 옵션:

  • dict: 열 이름을 키로, 값을 인덱스:데이터 쌍의 사전으로
  • list: 키는 열 이름이고 값은 열 목록입니다. data
  • series: 'list'와 유사하지만 값은 Series 객체입니다
  • split: 열 이름은 키, 데이터 값은 값, 및 인덱스 레이블을 별도의 키로
  • 레코드: 각 행은 열이 있는 사전이 됩니다. 이름을 키로, 데이터를 값으로
  • index: 'records'와 유사하지만 인덱스 레이블을 키로 사용하는 사전 사전

위 내용은 Pandas DataFrame을 목록 값이 있는 사전으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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