NumPy配列と明示的なインデックス値を使ってPythonでpandasのSeriesを作成する方法
この記事では、NumPy配列を活用してpandasのSeriesデータ構造を作成し、インデックスに明示的に値を指定する方法を解説します。
通常、Seriesを作成する際にインデックスを指定しない場合は、0から始まる連番が自動的に割り当てられます。しかし、index引数を使用することで、任意のカスタムインデックスを自由に設定できます。
サンプルコード
import pandas as pd
import numpy as np
my_data = np.array(['ab','bc','cd','de', 'ef', 'fg','gh', 'hi'])
my_index = [3, 5, 7, 9, 11, 23, 45, 67]
my_series = pd.Series(my_data, index = my_index)
print("This is series data structure created using Numpy array and specifying index values")
print(my_series)出力結果
This is series data structure created using Numpy array and specifying index values 3 ab 5 bc 7 cd 9 de 11 ef 23 fg 45 gh 67 hi dtype: object
コードの解説
まず、必要なライブラリである
pandasとnumpyをインポートし、それぞれpd、npという別名を付けて扱いやすくしています。次に、
np.array()を使って文字列データを持つNumPy配列を作成します。これがSeriesの元となるデータになります。続いて、インデックスとして明示的に指定したい値のリスト
my_indexを用意します。ここでは飛び飛びの数値を指定していますが、これはあくまで一例です。pandasライブラリの
Series関数に対して、作成したデータ配列とインデックスのリストをパラメータとして渡し、Seriesオブジェクトを生成します。最後に、
print()関数を使って結果をコンソールに出力します。
ポイント
この例からわかるように、Seriesデータ構造を作成する際には、インデックスに任意のカスタム値を指定することが可能です。数値だけでなく、文字列や日付などをインデックスとして使用することもできるため、データの意味付けを行いたい場合に非常に便利です。
-
BokehとPythonを使って垂直棒グラフを可視化する方法
Bokehは、データの可視化を支援するためのPythonパッケージであり、オープンソースプロジェクトとして公開されています。BokehはHTMLとJavaScriptを使ってプロットを描画するため、Webベースのダッシュボードを作成する際に特に有用です。BokehはNumPyやPandasなど、他のPythonパッケージと簡単に組み合わせて使用でき、インタラクティブなプロットやダッシュボードなどを生成することができます。BokehはデータソースをJSONファイルに変換します。このJSONファイルは、JavaScriptライブラリであるBokehJSへの入力として使われます。BokehJSはTy
-
PythonとMatplotlibで複数のプロットを1つの図に描画する方法
Matplotlibは、データ可視化のために広く利用されている人気のPythonパッケージです。データの可視化は非常に重要なステップです。生の数値を目で追ったり複雑な計算を実行したりしなくても、データの中で何が起きているのかを直感的に把握できるようになるからです。また、定量的な洞察を聴衆に対して効果的に伝える手段としても役立ちます。Matplotlibは、データをもとに2次元のプロットを作成するために使われます。オブジェクト指向のAPIを備えており、Pythonアプリケーションへプロットを簡単に組み込むことができます。IPythonシェル、Jupyter Notebook、Spyderなどの開