从熊猫数据框中订购字典

时间:2018-07-03 14:25:27

标签: python python-2.7 pandas dictionary

我有以下代码(Python 2.7):

response2 = requests.get(...)
sample_object = pd.DataFrame(response2.json())['results'].to_dict()

这从我的DataFrame创建了一个字典,而我正在从中创建一个Json。但是它没有排序:

enter image description here

如何按键对它进行排序?意思是isGift之前的ShippingAddress_city

我看到了像this这样的私密答案,但是我无法在我的代码中做到这一点... 也尝试过to_dict(into=ordered),但没有任何反应。

是否有一种从一开始就对其进行排序的简单方法?还是必须仅在创建后对它进行排序,如果可以,我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以将sorted与自定义键一起使用,并输入collections.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之前的字典被认为是无序的。由于OrderedDictdict的子类,因此上述方法不会导致下游操作出现问题。