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

Pythonのpandas Seriesでインデックスを使って要素にアクセスする方法(デフォルト・カスタム両方に対応)

pandasのSeriesでは、デフォルトのインデックス値が使われている場合、通常のインデックス指定によって要素にアクセスできます。一方、インデックスをカスタマイズしている場合は、そのカスタムインデックスをキーとして渡すことで要素にアクセスし、コンソールに表示することが可能です。

ここでは、実際のコード例をもとに、それぞれのアクセス方法を詳しく見ていきましょう。

サンプルコード

import pandas as pd
my_data = [34, 56, 78, 90, 123, 45]
my_index = ['ab', 'mn' ,'gh','kl', 'wq', 'az']
my_series = pd.Series(my_data, index = my_index)
print("The series contains following elements")
print(my_series)
print("Accessing elements using customized index")
print(my_series['mn'])
print("Accessing elements using customized index")
print(my_series['az'])

実行結果

The series contains following elements
ab  34
mn  56
gh  78
kl  90
wq  123
az  45
dtype: int64
Accessing elements using customized index
56
Accessing elements using customized index
45

コードの解説

  • まず必要なライブラリをインポートし、扱いやすいように別名(エイリアス)を付けています。

  • データ値のリストを作成し、これを後ほどpandasライブラリの「Series」関数にパラメータとして渡します。

  • 次に、カスタマイズしたインデックス値をあらかじめリストとして用意しておきます。

  • Seriesを作成する際に、データのリストとインデックスのリストをパラメータとして渡します。

  • 作成したSeriesをコンソールに出力して内容を確認します。

  • インデックスがカスタマイズされているため、series_name['index_name'] のようにインデックス名を指定することで、対応する値にアクセスできます。

  • 取得した値はコンソールに出力されます。上記の例では 'mn' を指定すると 56、'az' を指定すると 45 が返されています。

補足:loc と iloc の使い分け

カスタムインデックスを持つSeriesでは、明示的に .loc[] を使えばラベル(カスタムインデックス)でのアクセス、.iloc[] を使えば位置(0から始まる番号)でのアクセスが可能です。たとえば my_series.loc['mn'] は 56 を、my_series.iloc[1] も同じく 56 を返します。用途に応じて使い分けると、より意図が明確なコードになります。

  1. Pythonでscikit-learnを使って画像のピクセル値を取得・表示する方法

    データの前処理とは、さまざまなリソース(または単一のリソース)から収集したすべてのデータを、共通のフォーマットや統一されたデータセットへとまとめる作業を指します。現実世界のデータは決して完璧ではないため、欠損セルやエラー、外れ値、列間の不整合などが含まれている可能性があります。画像の場合も同様に、正しく配置されていなかったり、ぼやけていたり、ファイルサイズが非常に大きかったりすることがあります。前処理の目的は、こうした不整合やエラーを取り除くことにあります。画像のピクセル値を取得するには、組み込み関数「flatten」を使用します。画像を読み込んだ後、ピクセル値はデータフレームの形式で保存され

  2. Pythonで画面に出力するには?print文の基本と使い方を解説

    Pythonで画面(標準出力)に文字や値を表示する最も基本的な方法は、print文を使うことです。>>> print Hello, world Hello, worldカンマ区切りで複数の項目を出力する同じ行に複数の項目をスペースで区切って表示したい場合は、項目の間をカンマで区切ります。>>> print Hello,, World Hello, Worldこの例では、どちらの文字列にもスペースは含まれていませんが、2つのオブジェクトの間にあるカンマによって、print文が自動的にスペースを挿入してくれます。さまざまなデータ型の出力print文は文字列だけで