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

Python Pandas-要求されたラベル/レベルの場所とスライスされたインデックスを取得しますが、レベルをドロップしないでください


MultiIndexで要求されたラベル/レベルの場所とスライスされたインデックスを取得するには、 get_loc_level()を使用します パンダのメソッド。 drop_levelを使用します パラメータを設定してFalse レベルを落とさないようにします。

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

import pandas as pd

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

multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])

マルチインデックスを表示する-

print("The MultiIndex...\n",multiIndex)

場所とスライスされたインデックスを取得します。レベルのドロップを回避するために、値が「False」-

の「drop_level」パラメーターを使用しました。
print("\nGet the location and sliced index (avoid dropping the level)...\n",multiIndex.get_loc_level('r', drop_level=False))

以下はコードです-

import pandas as pd

# MultiIndex is a multi-level, or hierarchical, index object for pandas objects
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])

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

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

# Get the location and sliced index
# To avoid dropping a level, we have used the "drop_level" parameter with value "False"
print("\nGet the location and sliced index (avoid dropping the level)...\n",multiIndex.get_loc_level('r', drop_level=False))

出力

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

The MultiIndex...
MultiIndex([('p', 's'),
            ('q', 't'),
            ('r', 'r'),
            ('r', 'v'),
            ('s', 'w'),
            ('s', 'x')],
            names=['One', 'Two'])

The levels in MultiIndex...
   [['p', 'q', 'r', 's'], ['r', 's', 't', 'v', 'w', 'x']]

Get the location and sliced index (avoid dropping the level)...
(slice(2, 4, None), MultiIndex([('r', 'r'),('r', 'v')],names=['One', 'Two']))

  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', 'c'

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

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