簡體   English   中英

如何將 Pandas 數據框和 numpy 數組轉換為字典?

[英]how to convert pandas dataframe and numpy array into dictionary?

我有以下熊貓數據框,它看起來像,

       code      comp                       name  
0   A292340    디비자산운용         마이티 200커버드콜ATM레버리지   
1   A291630  키움투자자산운용         KOSEF 코스닥150선물레버리지   
2   A278240   케이비자산운용        KBSTAR 코스닥150선물레버리지   
3   A267770  미래에셋자산운용            TIGER 200선물레버리지   
4   A267490   케이비자산운용  KBSTAR 미국장기국채선물레버리지(합성 H)   

我喜歡用這個來制作字典,看起來像,

{'20180408' :{'A292340' : {comp : 디비자산운용}, {name : 마이티 200커버드콜ATM 레버리지}}}

很抱歉這些數據對您來說是陌生的,但請讓我問一下。 我試過的是,

values = [comp, name]
names = ['comp', 'name']
tmp = {names:values for names, values in zip(names, values)}
tpm = {code:values for values in zip(*tmp)}
aaaa = {date:c for c in zip(*tpm)}
print(aaaa)

aaaa 是我試圖得到的……而日期只是簡單的日期列表,從之前到現在。 但是當我運行這個時,我得到了錯誤

TypeError: unhashable type: 'numpy.ndarray'

預先感謝您的回答。

這是你想要的嗎? 首先,將"code"列設置為索引。 然后將to_dict"orient="index"

df.set_index("code").to_dict("index")

{'A267490': {'comp': '케이비자산운용', 'name': 'KBSTAR 미국장기국채선물레버리지(합성 H)'},
 'A267770': {'comp': '미래에셋자산운용', 'name': 'TIGER 200선물레버리지'},
 'A278240': {'comp': '케이비자산운용', 'name': 'KBSTAR 코스닥150선물레버리지'},
 'A291630': {'comp': '키움투자자산운용', 'name': 'KOSEF 코스닥150선물레버리지'},
 'A292340': {'comp': '디비자산운용', 'name': '마이티 200커버드콜ATM레버리지'}}

使用參數"index"將給出布局:

{index -> {columnName -> valueOfTheColumn}} 

這里因為我們將code設置為索引,所以我們有

code -> {"comp" -> comp's value, "name" -> name's value}
'A267490': {'comp': '케이비자산운용', 'name': 'KBSTAR 미국장기국채선물레버리지(합성 H)'}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM