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

  1. 사전을 Pandas DataFame로 변환하는 방법
  2. ‘키’를 ‘열’로 변환하고 ‘값’을 Pandas ‘데이터 프레임’의 ‘행’값으로 변환하는 방법
  3. dictdataframe으로 변환하는pandas.DataFrame().from_dict()메소드

파이썬 ‘사전’을 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

팬더사전 이해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 열의 순서를 변경하는 방법