pandas dataframe from_dict - 设置键的列名称和键值的列名称

Ari*_*Ari 4 python pandas

我有一本字典如下:

my_keys = {'a':10, 'b':3, 'c':23}
Run Code Online (Sandbox Code Playgroud)

我把它变成一个数据框:

df = pd.DataFrame.from_dict(my_keys)
Run Code Online (Sandbox Code Playgroud)

它输出df如下

     a     b    c
0    10    3    23
Run Code Online (Sandbox Code Playgroud)

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

Col1    Col2
a        10
b         3
c        23
Run Code Online (Sandbox Code Playgroud)

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

jez*_*ael 5

您可以创建元组列表并传递给DataFrame构造函数:

df = pd.DataFrame(list(my_keys.items()), columns=['col1','col2'])
Run Code Online (Sandbox Code Playgroud)

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

df = pd.DataFrame({'col1': list(my_keys.keys()),'col2':list(my_keys.values())})
Run Code Online (Sandbox Code Playgroud)
print (df)
  col1  col2
0    a    10
1    b     3
2    c    23
Run Code Online (Sandbox Code Playgroud)

您的解决方案应该由orient='index'和更改columns,但随后需要为来自 的列添加DataFrame.rename_axis和 :DataFrame.reset_indexindex

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

  • 好一个!那行得通。我想我必须使用“from_dict”:/ (2认同)