代码之家  ›  专栏  ›  技术社区  ›  Ari

pandas dataframe from_dict-为键设置列名,为键值设置列名

  •  2
  • Ari  · 技术社区  · 5 年前

    我有一本字典如下:

    my_keys = {'a':10, 'b':3, 'c':23}
    

    我把它变成一个数据框:

    df = pd.DataFrame.from_dict(my_keys)
    

    它输出 df 如下所示

         a     b    c
    0    10    3    23
    

    我怎样才能让它看起来像下面这样:

    Col1    Col2
    a        10
    b         3
    c        23
    

    我尝试过orient=index,但仍然无法获取列名?

    1 回复  |  直到 5 年前
        1
  •  3
  •   jezrael    5 年前

    您可以创建元组列表并传递到 DataFrame 施工单位:

    df = pd.DataFrame(list(my_keys.items()), columns=['col1','col2'])
    

    或将键和值转换为单独的列表:

    df = pd.DataFrame({'col1': list(my_keys.keys()),'col2':list(my_keys.values())})
    

    print (df)
      col1  col2
    0    a    10
    1    b     3
    2    c    23
    

    你的解决方案应该由 orient='index' columns ,但必须添加 DataFrame.rename_axis DataFrame.reset_index 对于来自的列 index :

    df = (pd.DataFrame.from_dict(my_keys, orient='index', columns=['col2'])
            .rename_axis('col1')
            .reset_index())