pandas는 excel 3열 데이터를 사전 형식으로 변환합니다

7803 단어 pandas
pandas는 excel 3열 데이터를 사전 형식으로 변환합니다
요구 사항:
 DataFrame :
   id   sex   name
0   1  girl   lisa
1   2  girl   luxi
2   3   boy  alika
3   4   boy   join

 : {id:{sex:name}}


코드 구현:
방식 1:
import pandas as pd
from collections import defaultdict

df = pd.DataFrame([[1,"girl","lisa"],[2,"girl","luxi"],[3,"boy","alika"],[4,"boy","join"]],columns = ["id","sex","name"])

result = defaultdict(dict)
for id,sex,name in df.itertuples(index = False):
    result[id][sex] = name

print(result)

# defaultdict(, {1: {'girl': 'lisa'}, 2: {'girl': 'luxi'}, 3: {'boy': 'alika'}, 4: {'boy': 'join'}})

방식 2:
import pandas as pd

df = pd.DataFrame([[1,"girl","lisa"],[2,"girl","luxi"],[3,"boy","alika"],[4,"boy","join"]],columns = ["id","sex","name"])

result = dict()
for index,row in df.iterrows():
    id,sex,name = row
    result.setdefault(id,{}).update({sex:name})

print(result)

# {1: {'girl': 'lisa'}, 2: {'girl': 'luxi'}, 3: {'boy': 'alika'}, 4: {'boy': 'join'}}

좋은 웹페이지 즐겨찾기