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.