스택큐힙리스트

Pandas DataFrame을 딕셔너리로 변환하세요. 본문

카테고리 없음

Pandas DataFrame을 딕셔너리로 변환하세요.

스택큐힙리스트 2023. 4. 15. 08:50
반응형

내가 네 개의 열이있는 DataFrame을 가지고 있습니다. 이 DataFrame을 Python 사전으로 변환하려고합니다. 첫 번째 열의 요소가 keys이되고 같은 행의 다른 열의 요소는 values가됩니다.

데이터프레임:

ID A B C

0 p 1 3 2

1 q 4 3 2

2 r 4 0 9

출력 형식은 다음과 같아야 합니다:

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

답변 1

to_dict() 메소드는 열 이름을 딕셔너리 키로 설정하므로 DataFrame을 약간 다시 모양을 바꿔야합니다. 'ID' 열을 인덱스로 설정한 다음 DataFrame을 전치하는 것은이를 달성하는 한 가지 방법입니다.

to_dict() 함수는 각 열에 대한 값 목록을 출력하기 위해 필요한 'orient' 인자를 허용합니다. 그렇지 않으면 각 열에 대해 {index: value} 형식의 사전이 반환됩니다.

이 단계는 다음 라인으로 수행할 수 있습니다.

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

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

만약 다른 사전 포맷이 필요한 경우, 가능한 orient 인수의 예시가 여기 있습니다. 다음과 같은 간단한 데이터프레임을 고려해보세요:

>>> df = pd.DataFrame({'a': ['red', 'yellow', 'blue'], 'b': [0.5, 0.25, 0.125]})

>>> df

a b

0 red 0.500

1 yellow 0.250

2 blue 0.125

그래서 옵션은 다음과 같습니다.

dict - 기본값: 열 이름은 키이고 값은 인덱스 : 데이터 쌍의 사전입니다.

>>> df.to_dict('dict')

{'a': {0: 'red', 1: 'yellow', 2: 'blue'},

'b': {0: 0.5, 1: 0.25, 2: 0.125}}

목록 - 키는 열 이름이며, 값은 열 데이터의 목록입니다.

>>> df.to_dict('list')

{'a': ['red', 'yellow', 'blue'],

'b': [0.5, 0.25, 0.125]}

시리즈 - '리스트'와 비슷하지만 값이 시리즈이다.

>>> df.to_dict('series')

{'a': 0 red

1 yellow

2 blue

Name: a, dtype: object,

'b': 0 0.500

1 0.250

2 0.125

Name: b, dtype: float64}

split - 열/데이터/인덱스를 키로 나누어 각각 열 이름, 데이터 값, 인덱스 레이블로 분리합니다.

>>> df.to_dict('split')

{'columns': ['a', 'b'],

'data': [['red', 0.5], ['yellow', 0.25], ['blue', 0.125]],

'index': [0, 1, 2]}

레코드 - 각 행은 열 이름이 키이고 셀의 데이터가 값이되는 사전이됩니다.

>>> df.to_dict('records')

[{'a': 'red', 'b': 0.5},

{'a': 'yellow', 'b': 0.25},

{'a': 'blue', 'b': 0.125}]

인덱스 - 목록과 비슷하지만, 인덱스 레이블을 키로 사용한 사전의 사전입니다. (리스트 대신)

>>> df.to_dict('index')

{0: {'a': 'red', 'b': 0.5},

1: {'a': 'yellow', 'b': 0.25},

2: {'a': 'blue', 'b': 0.125}}

답변 2

Pandas는 Python에서 가장 인기있는 데이터 분석 라이브러리 중 하나입니다. Pandas DataFrame은 일반적으로 표 형태로 표현되는 데이터를 포함하고 있습니다. 이러한 데이터를 사전(Dictionary) 형식으로 변환하는 것은 유용한 방법입니다.

먼저, Pandas DataFrame이 어떻게 생겼는지 살펴보겠습니다. DataFrame은 행과 열로 구성된 2D 테이블 형태의 데이터 구조입니다. 이러한 데이터를 단순화하고 가공하기 쉽게하기 위해 DataFrame을 딕셔너리(Dictionary) 형식으로 변환하는 것이 유용합니다.

Pandas DataFrame을 딕셔너리로 변환하는 것은 간단합니다. DataFrame의 to_dict 메소드를 사용하면 됩니다. to_dict 메소드는 딕셔너리를 반환하며, 키(Key)는 열의 이름(이름은 문자열)으로 설정되고 값(Value)은 데이터를 표시하게 됩니다.

예를 들어, 다음과 같은 DataFrame이 있다고 가정합니다.

```python

import pandas as pd

data = {

'이름': ['홍길동', '김철수', '박영희'],

'나이': [28, 34, 26],

'성별': ['남', '남', '여'],

'직업': ['개발자', '마케터', '디자이너']

}

df = pd.DataFrame(data)

```

이제 DataFrame을 딕셔너리로 변환하겠습니다.

```python

my_dict = df.to_dict()

print(my_dict)

```

위 코드를 실행하면 다음과 같은 딕셔너리가 생성됩니다.

```python

{

'이름': {0: '홍길동', 1: '김철수', 2: '박영희'},

'나이': {0: 28, 1: 34, 2: 26},

'성별': {0: '남', 1: '남', 2: '여'},

'직업': {0: '개발자', 1: '마케터', 2: '디자이너'}

}

```

이제 Pandas DataFrame을 딕셔너리로 변환하는 방법을 알았으니, 이를 활용하여 데이터 가공 및 분석에 유용하게 사용할 수 있습니다.

반응형
Comments