dict转dataframe,将keys作为数据列,并重新命名

Python中,将 dict 转为 pandas 中的 dataframe 格式,并将 dict 的 keys 作为数据列,且赋予该数据列新的列名。

我们假设dict的内容如下所示:

dict_data = {a: 1, b: 2, c: 3}

假设我们想要将keys 与 values 作为数据列,并且命名为kys 和 vas。
那么,首先要将其转换为dataframe,

import pandas as pd
frame = pd.DataFrame.from_dict(dict_data, orient='index', columns=['values']

此时,生成的dataframe会默认将keys作为索引(index),如下所示:

vas
a 1
b 2
c 3

因此,我们要先使用DataFrame的reset_index()函数,将索引列恢复为数据列。

frame2 = frame.reset_index()

reset_index( ) 默认返回一个新的副本,但是原来的 dataframe 并没有发生改变,所以需要创建新的变量来接收副本。现在,新的dataframe则是下面的样子:

index vas
0 a 1
1 b 2
2 c 3

可以发现,keys 由索引列变成了数据列,且列名默认为 ‘index’。现在我们可以再使用dataframe的rename( )方法,为 ‘index’ 列重命名:

frame3 = frame2.rename(columns={'index': 'kys'})

此时,表格形式如下:

kys vas
0 a 1
1 b 2
2 c 3

至此,达成目的。

(1)关于dataframe.rom_dict( )中的orient参数设置的问题,建议参考官方说明,不做赘述 here.
(2)至于rename( ) 的参数问题,建议参考官方链接 here.

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐