Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 数据帧中的有序字典_Python_Python 2.7_Pandas_Dictionary - Fatal编程技术网

Python 数据帧中的有序字典

Python 数据帧中的有序字典,python,python-2.7,pandas,dictionary,Python,Python 2.7,Pandas,Dictionary,我有以下代码(Python 2.7): 这将从我的数据帧创建一个dict,我将从它创建一个Json,但它没有排序: 我如何按键排序?意思是isGift之前的ShippingAddress\u city等 我看到了私密的答案,比如,但我无法在我的代码中做到这一点。。。 还尝试了命令(进入=排序),但什么也没发生 有没有一个简单的方法从一开始就对它进行排序?或者我必须仅在创建后对其进行排序,如果是,我如何进行排序?您可以使用带有自定义键的排序的,并将其输入到集合中。OrderedDict: fro

我有以下代码(Python 2.7):

这将从我的数据帧创建一个dict,我将从它创建一个Json,但它没有排序:

我如何按键排序?意思是
isGift
之前的
ShippingAddress\u city

我看到了私密的答案,比如,但我无法在我的代码中做到这一点。。。 还尝试了
命令(进入=排序)
,但什么也没发生


有没有一个简单的方法从一开始就对它进行排序?或者我必须仅在创建后对其进行排序,如果是,我如何进行排序?

您可以使用带有自定义键的
排序的
,并将其输入到
集合中。OrderedDict

from collections import OrderedDict

sample_object = pd.DataFrame(response2.json())['results'].to_dict()
sorted_object = OrderedDict(sorted(sample_object.iteritems(), key=lambda x: x[0]))

请注意,Python 3.7之前的词典被认为是无序的。由于
orderedict
dict
的子类,因此上述方法不应导致下游操作出现问题。

我使用的是Python 2。7@jack,则此答案将有所帮助,请参阅:)。由于您使用的是2.7,因此可以根据更新使用
dict.iteritems
from collections import OrderedDict

sample_object = pd.DataFrame(response2.json())['results'].to_dict()
sorted_object = OrderedDict(sorted(sample_object.iteritems(), key=lambda x: x[0]))