代码:
main_collection.where(Client.field_path(u'English Name'), u'==', u'Jerry')
数据和代码如上所示。
我想知道有什么方法可以在使用Python进行start-develop-middle-operate时重新排序“ Progress”。
我尝试使用地图功能并为每个阶段设置了一个数字,但是无法从多索引中提取“进度”
谢谢!
答案 0 :(得分:3)
reindex
您可以指定要重新索引的级别
cats = ['Start', 'Develop', 'Middle', 'Operate']
dff.reindex(cats, axis=1, level=1)
Country France China
Progress Start Develop Middle Operate Start Develop Middle Operate
NumTrans 772 832 494 793 750 722 818 684
TransValue 7363187 2578816 9764430 4863178 159777 840700 978816 9674337
set_levels
与CategoricalIndex
您可以定义第二级的顺序,然后进行排序。
lvl1 = dff.columns.levels[1]
cats = ['Start', 'Develop', 'Middle', 'Operate']
cati = pd.CategoricalIndex(
lvl1,
categories=cats,
ordered=True
)
dff.columns.set_levels(
cati, level=1, inplace=True
)
dff.sort_index(1)
Country China France
Progress Start Develop Middle Operate Start Develop Middle Operate
NumTrans 750 722 818 684 772 832 494 793
TransValue 159777 840700 978816 9674337 7363187 2578816 9764430 4863178