将字典另存为熊猫数据框时如何保持顺序?

时间:2019-03-18 17:48:08

标签: python pandas

如果我有一些示例数据,例如:

dic = {'common': {'value': 18, 'attr': 20, 'param': 22},
       'fuzzy': {'value': 14, 'attr': 21, 'param': 24},
       'adhead': {'value': 13, 'attr': 20, 'param': 29}}

执行pd.DataFrame(dic)我得到:

       common  fuzzy  adhead
attr       20     21      20
param      22     24      29
value      18     14      13

在这里,“外部”列可以,但对“内部”进行了排序,这是我需要避免的。如何快速进行? (需要保持排序-在此对行进行排序)

提示:我在工作台上收到一条消息:

  

主要:95:FutureWarning:排序是因为未串联的轴未对齐。未来版本的熊猫将更改为不排序   默认。

     

要接受将来的行为,请传递'sort = True'。

     

要保留当前行为并消除警告,请通过   sort = False

但是不知道这是干什么的。将此参数传递给pd.DataFrame(dic, sort=False)会返回: TypeError: __init__() got an unexpected keyword argument 'sort'

1 个答案:

答案 0 :(得分:2)

然后使用reindex作为保护

pd.DataFrame(dic).reindex(index=['value','attr','param'])
Out[553]: 
       common  fuzzy  adhead
value      18     14      13
attr       20     21      20
param      22     24      29