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

Python Pandas – データフレームのインデックスをマルチインデックス形式で表示する方法

Pandas のデータフレームでインデックスをマルチインデックス(MultiIndex)形式で表示するには、dataframe.index を使用します。まずは、リストからなる辞書を作成してみましょう。

# リストの辞書
d = {'Car': ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
     'Date_of_purchase': ['2020-10-10', '2020-10-12', '2020-10-17', '2020-10-16', '2020-10-19', '2020-10-22']}

上記の辞書をもとに、DataFrame を作成します。

dataFrame = pd.DataFrame(d)

続いて、set_index() メソッドを使って「Car」列をインデックスとして設定し、そのインデックスを表示します。append=True を指定することで、既存の整数インデックス(0〜5)が保持され、「Car」列が追加された階層型のマルチインデックスが形成されます。

dataFrame.set_index(["Car"], inplace=True, append=True, drop=False)
print("\nMultiindex...\n", dataFrame.index)

サンプルコード

以下が完全なコード例です。

import pandas as pd

# リストの辞書
d = {'Car': ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
     'Date_of_purchase': ['2020-10-10', '2020-10-12', '2020-10-17', '2020-10-16', '2020-10-19', '2020-10-22']}

# 辞書からデータフレームを作成
dataFrame = pd.DataFrame(d)
print("DataFrame...\n", dataFrame)

# インデックス列を設定
dataFrame.set_index(["Car"], inplace=True,
                    append=True, drop=False)

print("\nMultiindex...\n", dataFrame.index)

出力結果

上記のコードを実行すると、次のような出力が得られます。

DataFrame...
         Car  Date_of_purchase
0       BMW   2020-10-10
1      Lexus  2020-10-12
2       Audi  2020-10-17
3  Mercedes   2020-10-16
4     Jaguar  2020-10-19
5    Bentley  2020-10-22
Multiindex...
MultiIndex(levels=[[0, 1, 2, 3, 4, 5], [u'Audi', u'BMW', u'Bentley', u'Jaguar', u'Lexus', u'Mercedes']],
labels=[[0, 1, 2, 3, 4, 5], [1, 4, 0, 5, 3, 2]],
names=[None, u'Car'])

ポイント解説

set_index() に指定した各引数の役割は以下のとおりです。

  • inplace=True: 元のデータフレーム自体を直接変更します。
  • append=True: 既存のインデックスを残したまま新しいインデックスを追加し、マルチインデックスを構成します。
  • drop=False: インデックスに設定した「Car」列を、データフレームの列としても保持します。

このように append=True を活用すれば、既存のインデックスを失うことなく、複数の階層を持つマルチインデックスを簡単に作成できます。階層ごとのインデックス名やレベルの確認にも dataFrame.index が便利です。

  1. Python Pandasでデータセットをプロットして下降トレンド(ダウントレンド)を表示する方法

    時系列分析において、データが継続的に下向きのパターンを示すことを下降トレンド(ダウントレンド)と呼びます。株価や売上データなどの分析では、この下降トレンドを視覚的に把握することが非常に重要です。 ここでは、PandasとMatplotlibを使ってCSVファイルのデータを読み込み、下降トレンドをグラフに表示する手順を解説します。 必要なライブラリのインポート まず、必要なライブラリをインポートします。 import pandas as pd import matplotlib.pyplot as plt CSVファイルからデータを読み込む 次に、CSVファイルのデータをPandasのDataF

  2. Python Pandasでデータセットをプロットして上昇トレンドを表示する方法

    時系列分析において、データが時間の経過とともに上昇していくパターンが確認できる状態を「上昇トレンド(Uptrend)」と呼びます。本記事では、PythonのPandasとMatplotlibを使って、実際のデータセットから上昇トレンドを可視化する方法を解説します。使用するデータセット今回の例では、以下のような販売記録データ「SalesRecords.csv」を使用します。このファイルには購入日や売上などの情報が含まれています。必要なライブラリのインポートまず、PandasとMatplotlibという2つのライブラリをインポートします。Pandasはデータの読み込みや加工を担当し、Matplot