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 が便利です。
-
Python Pandasでデータセットをプロットして下降トレンド(ダウントレンド)を表示する方法
時系列分析において、データが継続的に下向きのパターンを示すことを下降トレンド(ダウントレンド)と呼びます。株価や売上データなどの分析では、この下降トレンドを視覚的に把握することが非常に重要です。 ここでは、PandasとMatplotlibを使ってCSVファイルのデータを読み込み、下降トレンドをグラフに表示する手順を解説します。 必要なライブラリのインポート まず、必要なライブラリをインポートします。 import pandas as pd import matplotlib.pyplot as plt CSVファイルからデータを読み込む 次に、CSVファイルのデータをPandasのDataF
-
Python Pandasでデータセットをプロットして上昇トレンドを表示する方法
時系列分析において、データが時間の経過とともに上昇していくパターンが確認できる状態を「上昇トレンド(Uptrend)」と呼びます。本記事では、PythonのPandasとMatplotlibを使って、実際のデータセットから上昇トレンドを可視化する方法を解説します。使用するデータセット今回の例では、以下のような販売記録データ「SalesRecords.csv」を使用します。このファイルには購入日や売上などの情報が含まれています。必要なライブラリのインポートまず、PandasとMatplotlibという2つのライブラリをインポートします。Pandasはデータの読み込みや加工を担当し、Matplot