【pandas】利用pandas将表格里的数据转化为字典嵌套字典的形式

问题:
如何将此表格里的数据转化为python字典
【pandas】利用pandas将表格里的数据转化为字典嵌套字典的形式_第1张图片
解决办法:
1.首先通过pandas 读取Excel表格
import pandas as pd
df=pd.read_excel(r"C:\Users\陌上玉\Desktop\新建文件夹\001.xlsx")

2.然后将其转化为字典套字典的形式

获取该表格所有列标签并转化为列表形式
col=df.columns.values
打印结果:col: ['Nevada' 'Ohio']
   
获取该表格行标签并转化为列表形式                                        
ide=df.index.values   
打印结果:ide: [2001 2002 2000]   

创建一个空字典,作为外层字典                                             
dicts={} 
通过循环列让每一列成为外层字典里的键。外层字典键对应的值也是一个字典:通过字典推导式形成 
由于每一列都要填写3个值,我们通过循环行标签列表,将行标签列表里的元素作为内层字典里的键,其对应的值是通过指定该列并转化为列表形式:df[i].values(也是获取该列所有的值),通过下标的形式取出对应的值即可
                                                         
for i in col:                                                      
    dicts[i]= {ide[j]:df[i].values[j] for j in range(len(ide)) }   
print(dicts)
                                                       

dicts的打印结果如下:
结果里有一个nan 代表表格里的空值

{'Nevada': {2001: 2.4, 2002: 2.9, 2000: nan}, 'Ohio': {2001: 1.7, 2002: 3.6, 2000: 1.5}}

你可能感兴趣的:(python,pandas,python,后端,pandas)