Pythonパンダ-MultiIndexを並べ替える方法
マルチインデックスを作成するには、 from_arrays()を使用します 方法。ただし、MultiIndexを並べ替えるには、 multiIndex.sortlevel()を使用します 。パンダのメソッド。
まず、必要なライブラリをインポートします-
import pandas as pd
MultiIndexは、パンダオブジェクトのマルチレベルまたは階層的なインデックスオブジェクトです。配列を作成する-
arrays = [[2, 4, 3, 1], ['John', 'Tim', 'Jacob', 'Chris']]
「names」パラメーターは、各インデックスレベルの名前を設定します。 from_arrays()は、MultiInde-
を作成するために使用されますmultiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))
MultiIndexを並べ替えます。デフォルトはレベル0でソートされます-
print("\nSort MultiIndex...\n",multiIndex.sortlevel())
例
以下はコードです-
import pandas as pd # MultiIndex is a multi-level, or hierarchical, index object for pandas objects # Create arrays arrays = [[2, 4, 3, 1], ['John', 'Tim', 'Jacob', 'Chris']] # The "names" parameter sets the names for each of the index levels # The from_arrays() is used to create a MultiIndex multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student')) # display the MultiIndex print("The Multi-index...\n",multiIndex) # get the levels in MultiIndex print("\nThe levels in Multi-index...\n",multiIndex.levels) # Sort MultiIndex # The default sorts at level 0 print("\nSort MultiIndex...\n",multiIndex.sortlevel())
出力
これにより、次の出力が生成されます-
The Multi-index... MultiIndex([(2, 'John'), (4, 'Tim'), (3, 'Jacob'), (1, 'Chris')], names=['ranks', 'student']) The levels in Multi-index... [[1, 2, 3, 4], ['Chris', 'Jacob', 'John', 'Tim']] Sort MultiIndex... (MultiIndex([(1, 'Chris'), (2, 'John'), (3, 'Jacob'), (4, 'Tim')], names=['ranks', 'student']), array([3, 0, 2, 1], dtype=int64))
-
パンダのマルチインデックスでgroupbyを行う方法は?
マルチインデックスデータフレームは、複数のインデックスを持つデータフレームです。以下がデスクトップに保存されているcsvであるとしましょう- まず、パンダライブラリをインポートし、上記のCSVファイルを読み取ります- パンダをpddf=pd.read_csv( C:/Users/amit_/Desktop/sales.csv)print(df)としてインポートします データフレームの「Car」列と「Place」列をインデックスとして形成します- df =df.set_index([Car、Place]) DataFrameは、「Car」列と「Place」列をインデックスとして持つ
-
Pythonで辞書を値で並べ替える方法は?
Pythonの標準配布には、コレクションモジュールが含まれています。高性能コンテナデータ型の定義があります。 OrderedDictは、ディクショナリオブジェクトに追加されたエントリの順序を記憶するディクショナリのサブクラスです。順序付けられた辞書を反復処理すると、アイテムはキーが最初に追加された順序で返されます。 >>> from collections import OrderedDict >>> D = {5:fff, 3:ttt, 1:ooo,4:bbb, 2:ddd} >>> OrderedDict(D.items()) &nb