将OrderedDict的字符串转换为多个熊猫列

时间:2019-08-25 13:41:30

标签: python python-3.x pandas

我在数据框中有一个以OrderedDict(类型:对象)形式的列:

 ColumnA   

 [OrderedDict([('MaStRNummer', 'SME949781471367'), ('Einheittyp', 'Windeinheit'), ('Einheitart', 'Stromerzeugungseinheit')])]

我想这样转换成多列:

    MaStRNummer      Einheittyp    Einheitart    
0   SME949781471367  Windeinheit   Stromerzeugungseinheit   

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

假设您的数据看起来像这样,其中包含一个ColumnA

df=pd.Series([OrderedDict([('MaStRNummer', 'SME949781471367'), 
                        ('Einheittyp', 'Windeinheit'), 
                        ('Einheitart', 'Stromerzeugungseinheit')])]
,name='ColumnA').to_frame()

然后扩展有序字典,我们可以在其上应用pd.Series

df.ColumnA.apply(pd.Series)

要将其与原始数据集合并,请尝试

df.join(df.ColumnA.apply(pd.Series))