从嵌套字典结构手动生成Pandas DataFrame

时间:2017-06-13 16:29:52

标签: python pandas dictionary dataframe

我试图从嵌套数据结构(分类法)创建字典,如下所示:

pd.DataFrame({'genus':  ['Unknown', 'External Metal'], 
              'species':['Other Feature/Anomaly', 
                        ['Close External Metal', 'Touching Metal Object']]})

我得到以下输出:

            genus                                        species
0         Unknown                          Other Feature/Anomaly
1  External Metal  [Close External Metal, Touching Metal Object]

这就是我想要的:

            genus                                        species
0         Unknown                          Other Feature/Anomaly
1  External Metal                           Close External Metal 
2  External Metal                          Touching Metal Object

或者也许有更好的方法来考虑使用Pandas构建这些类型的层次结构?我并不反对输出的结构不同于我上面所说的,只要层次结构得到适当的维护并且我可以轻松地导航该层次结构谢谢!

1 个答案:

答案 0 :(得分:1)

让我们使用applypd.Seriesstack

df.set_index('genus').species.apply(pd.Series).stack().reset_index(name='Species').drop('level_1', axis=1)

输出:

            genus                Species
0         Unknown  Other Feature/Anomaly
1  External Metal   Close External Metal
2  External Metal  Touching Metal Object