Python Pandas入門:タプルのリストからIntervalArrayを構築する方法
Pandasでタプルのリスト(array-likeなデータ)からIntervalArrayを構築するには、pandas.arrays.IntervalArray.from_tuples()メソッドを使用します。このメソッドに「(始点, 終点)」形式のタプルを渡すことで、各区間を表すIntervalオブジェクトの配列を簡単に作成できます。
IntervalArrayとは
IntervalArrayは、数値の範囲(区間)を要素として格納できるPandas専用の配列型です。各要素は左側を開き右側を閉じる「(10, 25]」のような半開区間として表現され、デフォルトではclosed='right'(右側を含む)として扱われます。
基本的な使い方
まず、必要なライブラリをインポートします。
import pandas as pd
次に、タプルのリストから新しいIntervalArrayを構築します。
array = pd.arrays.IntervalArray.from_tuples([(10, 25), (15, 70)])
作成したIntervalArrayを表示してみましょう。
print("Our IntervalArray...\n", array)
さらに、各区間の長さを取得することもできます。lengthプロパティは、IntervalArray内の各区間の長さをIndexとして返します。
print("\nOur IntervalArray length...\n", array.length)
サンプルコード
以下に完全なコード例を示します。
import pandas as pd
# タプルのリストから新しいIntervalArrayを構築
array = pd.arrays.IntervalArray.from_tuples([(10, 25), (15, 70)])
# IntervalArrayを表示
print("Our IntervalArray...\n", array)
# IntervalArrayの長さを取得
# IntervalArray内の各区間の長さをIndexとして返す
print("\nOur IntervalArray length...\n", array.length)
# 各区間の中間点(midpoint)をIndexとして取得
print("\nThe midpoint of each interval in the IntervalArray...\n", array.mid)
実行結果
上記のコードを実行すると、次のような出力が得られます。
Our IntervalArray...
<IntervalArray>
[(10, 25], (15, 70]]
Length: 2, dtype: interval[int64, right]
Our IntervalArray length...
Int64Index([15, 55], dtype='int64')
The midpoint of each interval in the IntervalArray...
Float64Index([17.5, 42.5], dtype='float64')
出力結果の解説
- dtype: interval[int64, right] — 各区間が64ビット整数で構成され、右側が閉じた区間(終点を含む)であることを示しています。つまり「(10, 25]」は10を含まず25を含みます。
- length — 各区間の長さが計算されます。(10, 25]なら25−10=15、(15, 70]なら70−15=55となります。
- mid — 各区間の中間点が浮動小数点数で返されます。(10, 25]の中間点は17.5、(15, 70]の中間点は42.5です。
このようにfrom_tuples()メソッドを使えば、複数の数値範囲をまとめて扱いたい場合に便利です。年齢層の分類や価格帯のグルーピングなど、区間データを活用した分析にぜひ役立ててください。
-
Pythonでタプルのリストから重複するタプルを削除する方法
タプルのリストから重複するタプルを削除したい場合、ループ、any関数、enumerate関数を組み合わせることで実現できます。前提知識:使う関数の役割any関数は、イテラブル(反復可能オブジェクト)内の値が1つでもTrueであれば「True」を返し、すべてFalseであれば「False」を返す組み込み関数です。enumerate関数は、指定したイテラブルに対してカウンター(インデックス番号)を付加しながら要素を取り出せるようにする関数です。なお、Pythonのリストは整数・浮動小数点数・文字列など、異なるデータ型の値を混在させて格納できる柔軟なデータ構造です。タプルのリストとは、リストの中に複
-
Pythonで同じ長さの複数のリストから辞書を使ってPandas DataFrameを作成する方法
PandasのDataFrameはさまざまな方法で作成できます。その一つが、辞書(dict)をDataFrameに変換するアプローチです。本記事では、同じ長さを持つ3つのリストをPythonの辞書にまとめ、それをPandasのデータフレームへ変換する2つの方法を解説します。 方法1:個別に宣言したリストと辞書を使う このアプローチでは、まず各リストを個別に宣言します。次に、それぞれのリストを対応するキーの値として辞書定義の中に格納し、最後に pd.DataFrame メソッドを辞書に適用してデータフレームを生成します。 コード例 import pandas as pd # 試験スケジュー