簡體   English   中英

通過逐行迭代 pandas 中的數據框來創建字典

[英]Creating a dictionary by iterating a data frame in pandas row by row

這是一個簡單的dataframe

sample=pd.DataFrame({'Budjet_id':['K1','K2','K3'],'cost':[20000,30000,4000]})
sample 
   Budjet_id    cost
0       K1     20000
1       K2     30000
2       K3     4000

將其轉換為字典並將其嵌入到另一個字典中。

 data={}
 data['work'] = 'Budget'
 data['data_sample']=[{m:sample.values[i][n] for n, m in enumerate(sample.columns)} for i in range(0,len(sample))]
 data

這給出了以下 output。

{'work': 'Budget',
 'data_sample': [{'Budjet_id': 'K1', 'cost': 20000},
                 {'Budjet_id': 'K2', 'cost': 30000},
                 {'Budjet_id': 'K3', 'cost': 4000}]}

但預期的 output 如下。

{'work': 'Budget','data_sample':{'Budjet_id':'K1','cost':'20000'},
               'data_sample':{'Budjet_id':'K2','cost':'30000'},
                'data_sample':{'Budjet_id':'K2','cost':'4000'}}

有沒有辦法做到這一點?

{'work': 'Budget','data_sample':{'Budjet_id':'K1','cost':'20000'},
           'data_sample':{'Budjet_id':'K2','cost':'30000'},
            'data_sample':{'Budjet_id':'K2','cost':'4000'}}

如果這是您想要的 output ,則它不是有效的字典,因為您有多個數據用於同一個鍵。

暫無
暫無

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

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