[Python] Data Frame의 중첩과 중첩 리스트

Suhyeon Lee·2025년 1월 9일
0

자기주도학습

목록 보기
75/83

출처

Data Frame 중첩 Dict으로 생성하기

'''
   중첩 dict
   dict_value = { key1: { key1-1: value},
                  key2: { key2-1: value},
                  ....}
   key1, key2 ==> 컬럼명으로 지정됨.
   key1-1, key2-1 ==> 인덱스로 지정됨.
'''
  • dict의 value 값에 다시 dict 가 들어가 있으면 어떤 Data Frame이 만들어질까?
mport numpy as np
import pandas as pd

dict_value = {"key1":{"key1-1":[1,2,3]},
              "key2":{"key2-1":[1,2,3]},
              "key3":{"key3-1":[1,2,3]}
              }

df = pd.DataFrame(dict_value)
print(df)
             key1       key2       key3
key1-1  [1, 2, 3]        NaN        NaN
key2-1        NaN  [1, 2, 3]        NaN
key3-1        NaN        NaN  [1, 2, 3]
  • 출력 결과

    • key1, key2, key3는 중첩을 하지 않았을 때와 마찬가지로 컬럼 이름으로 들어감
    • key1-1, key2-1, key3-1는 인덱스 이름으로 들어감
    • [1,2,3]이 각각의 레코드로 들어가는 것이 아니라 (key1-1,key1) 한 칸에 [1,2,3]이 통째로 들어간 것에 유의
    • 나머지 레코드들에는 값이 들어있지 않기 때문에 Nan 이 출력됨
  • 응용: Nan이 없는 Data Frame 을 만들기 위해서는 어떻게 해야 할까?

# 응용
dict_value ={'Nevada':{2001:2.4,2002:2.9},
             'Ohio':  {2001:1.7,2002:3.6}}
df = pd.DataFrame(dict_value)
print(df)
'''
      Nevada  Ohio
2001     2.4   1.7
2002     2.9   3.6
'''

→ 중첩으로 넣은 dict 의 key 값을 여러 번 써줘서 컬럼에 대응하는 값을 모두 넣어주면 됨!

profile
2 B R 0 2 B

0개의 댓글

관련 채용 정보