Pandas 嵌套字典到多指标数据框架

Pandas 嵌套字典到多指标数据框架

Pandas DataFrame是一个二维的大小可变的、可能是异质的表格式数据结构,有标记的axis(行和列)。数据框架是一个二维的数据结构,也就是说,数据是以表格的方式在行和列中排列。Pandas DataFrame由三个主要部分组成,即数据、行和列。一个多索引数据框架是一个具有多级索引或分层索引的pandas数据框架。

Pandas需要多索引值作为图元,而不是作为一个嵌套的字典。所以,首先,我们需要将嵌套的索引值转换成图元。

示例 #1:

# Import module
import pandas as pd
  
# Nested dictionary to convert it
# into multiindex dataframe
nested_dict = {'A': {'a': [1, 2, 3,
                           4, 5],
                     'b': [6, 7, 8,
                           9, 10]},
  
               'B': {'a': [11, 12, 13,
                           14, 15],
                     'b': [16, 17, 18,
                           19, 20]}}
  
reformed_dict = {}
for outerKey, innerDict in nested_dict.items():
    for innerKey, values in innerDict.items():
        reformed_dict[(outerKey,
                       innerKey)] = values
  
# Multiindex dataframe
reformed_dict

输出:

嵌套字典到多指标数据框架

注意,在reformed_dict中,索引值在元组中。现在要把reformed_dict转换成多索引数据帧,我们可以使用pd.DataFrame()方法。

multiIndex_df = pd.DataFrame(reformed_dict)
multiIndex_df

输出:

嵌套字典到多指标数据框架

在这里的输出中,我们可以看到列的分层索引/多索引。

示例 #2:

# Import module
import pandas as pd
  
# Nested dictionary to convert it into multiindex dataframe
nested_dict = {'India': {'State': ['Maharashtra', 'West Bengal',
                                   'Uttar Pradesh', 'Bihar', 'Karnataka'],
                         'Capital': ['Mumbai', 'Kolkata', 'Lucknow',
                                     'Patna', 'Bengaluru']},
  
               'America': {'State': ['California', 'Florida', 'Georgia',
                                     'Massachusetts', 'New York'],
                           'Capital': ['Sacramento', 'Tallahassee', 'Atlanta',
                                       'Boston', 'Albany']}}
  
reformed_dict = {}
for outerKey, innerDict in nested_dict.items():
    for innerKey, values in innerDict.items():
        reformed_dict[(outerKey, innerKey)] = values
  
# Display multiindex dataframe
multiIndex_df = pd.DataFrame(reformed_dict)
multiIndex_df

输出:

嵌套字典到多指标数据框架

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程