Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonPandas-MultiIndexのレベル名を使用してレベルを再配置します


MultiIndexのレベル名を使用してレベルを再配置するには、 MultiIndex.reorder_levels()を使用します パンダのメソッド。再配置するレベル(レベル名)を引数として渡します。

まず、必要なライブラリをインポートします-

import pandas as pd

MultiIndexは、パンダオブジェクトのマルチレベルまたは階層的なインデックスオブジェクトです。配列を作成する-

arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]

「names」パラメーターは、各インデックスレベルの名前を設定します。 from_arrays()は、MultiIndex-

を作成するために使用されます
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('rank', 'student', 'points'))

MultiIndexのレベルを並べ替えます。 「order」パラメーターは、レベルを並べ替えるフォームにレベル名を設定するために使用されます-

print("\nReorder levels in MultiIndex using level name...\n",multiIndex.reorder_levels(order=['student','rank','points']))

以下はコードです-

import pandas as pd

# MultiIndex is a multi-level, or hierarchical, index object for pandas objects
# Create arrays
arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]

# 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=('rank', 'student', 'points'))

# display the MultiIndex
print("The MultiIndex...\n",multiIndex)

# get the levels in MultiIndex
print("\nThe levels in MultiIndex...\n",multiIndex.levels)

# swap levels of MultiIndex using swaplevel()
# The 1st parameter is the first level of index to be swapped
# The 2nd parameter is the second level of index to be swapped
print("\nSwap levels in MultiIndex...\n",multiIndex.swaplevel(0,2))

# Reorder levels of MultiIndex
# The "order" parameter is used to set the level name in a form to reorder levels
print("\nReorder levels in MultiIndex using level name...\n",multiIndex.reorder_levels(order=['student','rank','points']))

出力

これにより、次の出力が生成されます-

The MultiIndex...
MultiIndex([(2, 'Peter', 50),
            (4, 'Chris', 30),
            (3,  'Andy', 40),
            (1, 'Jacob', 70)],
            names=['rank', 'student', 'points'])

The levels in MultiIndex...
   [[1, 2, 3, 4], ['Andy', 'Chris', 'Jacob', 'Peter'], [30, 40, 50, 70]]

Swap levels in MultiIndex...
MultiIndex([('Peter', 2, 50),
            ('Chris', 4, 30),
            ( 'Andy', 3, 40),
            ('Jacob', 1, 70)],
            names=['student', 'rank', 'points'])

Reorder levels in MultiIndex using level name...
MultiIndex([('Peter', 2, 50),
            ('Chris', 4, 30),
            ( 'Andy', 3, 40),
            ('Jacob', 1, 70)],
            names=['student', 'rank', 'points'])

  1. Python –レベルの名前を使用してレベルを削除し、インデックスを返します

    レベルの名前を使用してレベルを削除し、インデックスを返すには、 multiIndex.droplevel()を使用します パンダのメソッド。削除するレベルの名前をパラメータとして設定します。 まず、必要なライブラリをインポートします- import pandas as pd マルチインデックスを作成します。 namesパラメータは、インデックス内のレベルの名前を設定します multiIndex = pd.MultiIndex.from_arrays([[5, 10], [15, 20], [25, 30], [35, 40]], names=['a', 'b'

  2. PythonPandas-インデックス名を変更

    インデックス名を変更するには、 index.rename()を使用します パンダのメソッド。まず、必要なライブラリをインポートします- import pandas as pd パンダインデックスの作成- index = pd.Index(['Car','Bike','Airplane', 'Ship','Truck','Suburban'], name ='Transport') パンダのインデックスを表示する- print("Pandas Index...\n&qu