【发布时间】:2021-11-11 04:53:24
【问题描述】:
所以我有一个数据框
testdf = pd.DataFrame({"loc" : ["ab12","bc12","cd12","ab12","bc13","cd12"], "months" :
["Jun21","Jun21","July21","July21","Aug21","Aug21"], "dept" :
["dep1","dep2","dep3","dep2","dep1","dep3"], "count": [15, 16, 15, 92, 90, 2]})
看起来像这样:
当我旋转它时,
df = pd.pivot_table(testdf, values = ['count'], index = ['loc','dept'], columns = ['months'], aggfunc=np.sum).reset_index()
df.columns = df.columns.droplevel(0)
df
看起来像这样:
我正在寻找一个排序函数,它只会按顺序对月份列进行排序,而不是前 2 列,即 loc & dept。
当我尝试这个时:
df.sort_values(by = ['Jun21'],ascending = False, inplace = True, axis = 1, ignore_index=True)[2:]
它给了我错误。
我希望列按 Jun21、Jul21、Aug21 的顺序排列
我正在寻找可以使其动态化的东西,并且我不需要在月份变化时手动更改顺序。
任何提示将不胜感激。
【问题讨论】:
-
这能回答你的问题吗? Sorting month columns in pandas pivot_table
-
检查我的答案@Ruchika
标签: python pandas sorting indexing pivot-table