簡體   English   中英

Pandas mutliIndex 按組排序

[英]Pandas mutliIndex sort by group

我想將值保持相同的順序(降序),但我無法按索引級別 0 對以下幀進行分組。 代碼為 0512 的塊應該按代碼降序排列在一起。

code   product                                        count
0510  あたたか新潟こしひかり 5kg                 1
0511  キッコ−マン 味わいリッチ減塩しょうゆ 450ml       1
      7プレミアム 國産果汁使用ゆずぽん酢 200ml        1
0512  キリン 生茶 525ml                    1
      キリンレモン 450ml                    1
      コカ・コーラ い・ろ・は・す もも 555ML         1
      サントリー なっちゃん オレンジ 425ml          1
      サントリー プレミアムボス ブラック 490ml        2
      サントリー 天然水南アルプス 2L ケース           1
      サントリー 天然水南アルプス 2L ペット           1
      サントリー 朝摘みオレンジ&天然水 540ml         1
      大塚 ポカリスエット 900ML ペット            1
      森永 inゼリー エネルギーレモン 180g          1
      綾鷹 525MLペット                     2
      7プレミアム パイナップルサイダー 500ml         1
      7プレミアム フルーツオ・レ 500ml            1
      GAクラフトマン ダークモカ 440ml            1
      UCC 職人の珈琲 無糖 930ML ペット          1
0513  アサヒ オフ 500ml×6                  1
      キリン 本麒麟 500ml                   1
      萬上 濃厚熟成本みりん 1L                  1
      東村山純米酒 720ml                    1
0514  ブルボン プチポテトコンソメ味 45g             1
      ロッテ ガーナローストミルク 50g              1
      ロッテ グリーンガム 9枚                   1

我的代碼

data = df.groupby(['code','product']).size().reset_index(name='counts').set_index(['code','product'])
data1 = data.sort_values(by=['counts','code'], ascending=False).groupby(['product','code']).sum()

編輯:

我可以看到第二個 groupby 將代碼放在一起,但把每個代碼的計數降序弄亂了,正如我們在 0512 中看到的那樣。

您應該將列表傳遞給第二行中的升序參數,如下所示:

data1 = data.sort_values(by=['counts','code'], ascending=[False,False]).groupby(['product','code']).sum()

否則,它將采用默認值,即“代碼”列的 True 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM