【发布时间】:2017-01-22 12:35:00
【问题描述】:
给定以下数据框:
df = pd.DataFrame({'a':['a','c','b'],
'b':['foo','bar','baz']})
df
a b
0 a foo
1 c bar
2 b baz
当我从列中创建一个字典时,我得到了这个:
dict(zip(df.a,df.b))
{'a': 'foo', 'b': 'baz', 'c': 'bar'}
您会注意到它会自动对键列 (a) 进行排序。
我的问题是:如何避免这种情况?
我想要一个看起来像这样的字典:
{'a': 'foo', 'c': 'bar', 'b': 'baz', }
提前致谢!
【问题讨论】:
-
但关键字典顺序不一定是插入顺序这与熊猫无关,如果要保留插入顺序,则必须使用orderedDict
-
您无法控制字典中键的顺序。
-
OrderedDict 有效!谢谢,EdChum。如果您想将其发布为答案,我会相应地标记。
标签: python-3.x sorting pandas dictionary