【问题标题】:From dic pandas with nested dictionaries来自带有嵌套字典的 dic pandas
【发布时间】:2018-03-14 18:58:29
【问题描述】:

我有一本这样的字典:

{12: {'Soccer': {'value': 31, 'year': 2013}},
 23: {'Volley': {'value': 24, 'year': 2012},'Yoga': {'value': 3, 'year': 2014}},
39: {'Baseball': {'value': 2, 'year': 2014},'basket': {'value': 4, 'year': 2012}}}

我想要一个这样的数据框:

index                      column     
12         {'Soccer': {'value': 31, 'year': 2013}}
23         {'Volley': {'value': 24, 'year': 2012},'Yoga': {'value': 3, 'year': 2014}}
39         {'Baseball': {'value': 2, 'year': 2014},'basket': {'value': 4, 'year': 2012}}

每个嵌套字典都设置在唯一的列中,行由外部字典的键给出。当我使用 orient 参数等于索引的“from_dict”时,它认为嵌套字典中的键是列的标签,它会生成一个方形数据框而不是单个列... 非常感谢

【问题讨论】:

  • 对不起,我意识到这实际上很简单:s=pd.Series(dic,index=dic.keys())
  • 如果我或其他答案有帮助,请不要忘记accept 它 - 单击答案旁边的复选标记 () 将其从灰色切换为已填充。谢谢。

标签: python python-3.x pandas dictionary


【解决方案1】:

用途:

df = pd.DataFrame({'column':d})

或者:

df = pd.Series(d).to_frame('column')

print (df)
                                               column
12            {'Soccer': {'year': 2013, 'value': 31}}
23  {'Volley': {'year': 2012, 'value': 24}, 'Yoga'...
39  {'Baseball': {'year': 2014, 'value': 2}, 'bask...

【讨论】:

    【解决方案2】:
    In [65]: pd.DataFrame(d.values(), index=d.keys(), columns=['column'])
    Out[65]:
                                                   column
    12  ({'Soccer': {'value': 31, 'year': 2013}}, {'Vo...
    23  ({'Soccer': {'value': 31, 'year': 2013}}, {'Vo...
    39  ({'Soccer': {'value': 31, 'year': 2013}}, {'Vo...
    

    【讨论】:

      猜你喜欢
      • 2019-11-16
      • 2020-02-18
      • 2016-02-10
      • 1970-01-01
      • 2023-04-02
      • 2021-09-25
      • 2015-05-30
      • 2023-03-15
      • 1970-01-01
      相关资源
      最近更新 更多