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

PythonPandas-MultiIndexに新しい特定のレベルを1つだけ設定します


MultiIndexに新しい特定のレベルを1つだけ設定するには、 MultiIndex.set_levels()を使用します パラメータレベルのメソッド。まず、必要なライブラリをインポートします-

import pandas as pd

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

arrays = [[1, 2, 3, 4], ['John', 'Tim', 'Jacob', 'Chris']]

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

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

「level」パラメータを使用して、新しい単一の特定のレベルを設定しました-

print("\nSet a new level in Multi-index...\n",multiIndex.set_levels(['p', 'q', 'r', 's'], level = 0))

以下はコードです-

import pandas as pd

# MultiIndex is a multi-level, or hierarchical, index object for pandas objects
# Create arrays
arrays = [[1, 2, 3, 4], ['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)

# set the level in MultiIndex
# We have set a new single specific level using the "level" parameter
print("\nSet a new level in Multi-index...\n",multiIndex.set_levels(['p', 'q', 'r', 's'], level = 0))

出力

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

The Multi-index...
MultiIndex([(1,  'John'),
            (2,   'Tim'),
            (3, 'Jacob'),
            (4, 'Chris')],
            names=['ranks', 'student'])

The levels in Multi-index...
   [[1, 2, 3, 4], ['Chris', 'Jacob', 'John', 'Tim']]

Set a new level in Multi-index...
MultiIndex([('p', 'John'),
            ('q', 'Tim'),
            ('r', 'Jacob'),
            ('s', 'Chris')],
            names=['ranks', 'student'])

  1. Python-Pandasデータフレームの特定の行のみを合計します

    特定の行のみを合計するには、loc()メソッドを使用します。 :演算子を使用して、開始行と終了行のインデックスに言及します。 loc()を使用して、含める列を設定することもできます。結果を新しい列に表示できます。 まず、DataFrameを作成しましょう。開始在庫と終了在庫を含む製品レコードが含まれています- dataFrame = pd.DataFrame({"Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"], "

  2. PythonPandasとNumpy-マルチインデックスを単一のインデックスに連結します

    マルチインデックスを単一のインデックスに連結するには、最初に、必要なPandasライブラリとNumpyライブラリをそれぞれのエイリアスとともにインポートします- import pandas as pd import numpy as np パンダシリーズを作成する- d = pd.Series([('Jacob', 'North'),('Ami', 'East'),('Ami', 'West'),('Scarlett', 'South'),('Jacob