Python 사전을 Pandas DataFrame으로 변환하는 방법

Asad Riaz 2023년1월30일 2020년6월16일 Pandas Pandas DataFrame
  1. 사전을 Pandas DataFame로 변환하는 방법
  2. ‘키’를 ‘열’로 변환하고 ‘값’을 Pandas ‘데이터 프레임’의 ‘행’값으로 변환하는 방법
  3. dictDataFrame으로 변환하는pandas.DataFrame().from_dict()메소드
Python 사전을 Pandas DataFrame으로 변환하는 방법

파이썬 ‘사전’을 Pandas datafarme로 변환하는 방법과 ‘키’를 ‘열’로, ‘값’을 ‘행’값으로 설정하는 옵션을 소개합니다. 중첩 된 ‘사전’을 ‘데이터 프레임’으로 변환 할 수도 있습니다.

우리는pandas.DataFrame.from_dict를 사용하는 또 다른 접근법을 소개 할 것이고, 인덱스와 컬럼의 이름을 한 번에 설정하기 위해 이것을rename 메소드와 연결시킬 것입니다.

사전을 Pandas DataFame로 변환하는 방법

Pandas의 DataFrame 생성자pd.DataFrame()은 사전의 ‘항목’이 생성자의 인수로 제공되지만 사전 자체는 아닌 경우 사전을 DataFrame으로 변환합니다.

# python 3.x
import pandas as pd

fruit_dict = {
    3: 'apple',
    2: 'banana',
    6:'mango',
    4:'apricot',
    1:'kiwi',
    8:'orange'}

print(pd.DataFrame(list(fruit_dict.items()),
                   columns=['Quantity', 'FruitName']))

사전의 ‘키’와 ‘값’은 ‘열’옵션에 지정된대로 열 이름을 사용하여 ‘데이터 프레임’의 두 열로 변환됩니다.

   Quantity FruitName
0         3     apple
1         2    banana
2         6     mango
3         4   apricot
4         1      kiwi
5         8    orange

‘키’를 ‘열’로 변환하고 ‘값’을 Pandas ‘데이터 프레임’의 ‘행’값으로 변환하는 방법

사전을 괄호로 묶고 위 코드에서 열 이름을 다음과 같이 제거하면됩니다.

import pandas as pd

fruit_dict = {
    1: 'apple',
    2: 'banana',
    3:'mango',
    4:'apricot',
    5:'kiwi',
    6:'orange'}

print(pd.DataFrame([fruit_dict]))

출력:

       1       2      3        4     5       6
0  apple  banana  mango  apricot  kiwi  orange

Pandas 사전 이해concat을 사용하여 모든사전을 결합한 다음 목록을 전달하여 새로운이름을 부여합니다.

다음 코드를 고려하십시오.

import pandas as pd

data = {
    '1':{
        'apple':11, 
        'banana':18}, 
    '2':{
        'apple':16, 
        'banana':12}
}
df = pd.concat({k: pd.Series(v) for k, v in data.items()}).reset_index()
df.columns = ['dict_index', 'name','quantity']
print(df)

출력:

  dict_index    name  quantity
0          1   apple        11
1          1  banana        18
2          2   apple        16
3          2  banana        12

dictDataFrame으로 변환하는pandas.DataFrame().from_dict()메소드

from_dict를 사용하여dictDataFrame으로 변환합니다. 여기서 사전 키를 행으로 사용하고rename()메소드를 적용하여 열 이름을 변경하기 위해orient='index'를 설정합니다.

다음 코드를 고려하십시오.

import pandas as pd

print(pd.DataFrame.from_dict({
 'apple': 3,
 'banana': 5,
 'mango': 7,
 'apricot': 1,
 'kiwi': 8,
 'orange': 3}, orient='index').rename(columns={0:'Qunatity'}))

출력:

         Quantity
apple           3
banana          5
mango           7
apricot         1
kiwi            8
orange          3

관련 문장 - Pandas DataFrame

  • Pandas DataFrame 열 헤더를 목록으로 가져 오는 방법
  • Pandas DataFrame 열을 삭제하는 방법
  • Pandas 에서 DataFrame 열을 Datetime 으로 변환하는 방법
  • Pandas DataFrame에서 float를 정수로 변환하는 방법
  • 한 열의 값으로 Pandas DataFrame 을 정렬하는 방법
  • Pandas 그룹 및 합계를 집계하는 방법