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

Python Pandas:分割点の配列からIntervalArrayを作成する方法

分割点の配列からIntervalArrayを構築する

分割点(breaks)の配列からIntervalArrayを構築するには、pandas.arrays.IntervalArray.from_breaks()メソッドを使用します。隣接する区切り値のリストを渡すだけで、各区間が自動的に生成されるため、数値データをビン(bin)ごとに扱いたい場合に非常に便利です。

ステップ1:必要なライブラリをインポートする

まず、pandasをインポートします。

import pandas as pd

ステップ2:分割点の配列からIntervalArrayを構築する

配列形式の分割点を指定して、新しいIntervalArrayを作成します。

array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])

ステップ3:区間とその長さを表示する

作成したIntervalArrayを表示します。

print("Our IntervalArray...\n",array)

続いて、IntervalArrayの長さを取得して表示します。

print("\nOur IntervalArray length...\n",array.length)

サンプルコード

以下に完全なコード例を示します。

import pandas as pd

# 分割点の配列から新しいIntervalArrayを構築
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])

# IntervalArrayを表示
print("Our IntervalArray...\n",array)

# IntervalArrayの長さを取得
# IntervalArray内の各区間の長さを表すIndexを返す
print("\nOur IntervalArray length...\n",array.length)

# IntervalArray内の各区間の中間点をIndexとして取得
print("\nThe midpoint of each interval in the IntervalArray...\n",array.mid)

出力結果

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

Our IntervalArray...
<IntervalArray>
[(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]]
Length: 5, dtype: interval[int64, right]

Our IntervalArray length...
Int64Index([1, 1, 1, 1, 1], dtype='int64')

The midpoint of each interval in the IntervalArray...
Float64Index([0.5, 1.5, 2.5, 3.5, 4.5], dtype='float64')

解説

上記の出力から、以下のことが確認できます。

  • 区間の生成: 分割点 [0, 1, 2, 3, 4, 5] を指定すると、(0, 1](1, 2]…という5つの半開区間が作成されます。デフォルトでは closed='right' が適用され、右側の端点のみが区間に含まれます。
  • .length プロパティ: 各区間の長さを要素として持つIndexを返します。この例ではすべての区間の幅が1なので、[1, 1, 1, 1, 1] となっています。
  • .mid プロパティ: 各区間の中間点(midpoint)を浮動小数点数のIndexとして返します。ここでは [0.5, 1.5, 2.5, 3.5, 4.5] が出力されています。

なお、from_breaks() メソッドでは closed パラメータに 'left''both''neither' を指定することで、端点の包含方法を変更することも可能です。

  1. Pythonで同じ長さの複数のリストから辞書を使ってPandas DataFrameを作成する方法

    PandasのDataFrameはさまざまな方法で作成できます。その一つが、辞書(dict)をDataFrameに変換するアプローチです。本記事では、同じ長さを持つ3つのリストをPythonの辞書にまとめ、それをPandasのデータフレームへ変換する2つの方法を解説します。 方法1:個別に宣言したリストと辞書を使う このアプローチでは、まず各リストを個別に宣言します。次に、それぞれのリストを対応するキーの値として辞書定義の中に格納し、最後に pd.DataFrame メソッドを辞書に適用してデータフレームを生成します。 コード例 import pandas as pd # 試験スケジュー

  2. Pythonでソート済み配列から重複要素を削除する方法

    ここでは、ソート済みのリストから重複する要素をすべて削除し、その後の配列の長さ(ユニークな要素の個数)を返す問題を扱います。重要な制約として、O(1)の追加メモリで実行する必要があります。つまり、新しい配列を作成せずに、元の配列をインプレース(in-place)で操作しなければなりません。問題の例例えば、次のような入力が与えられたとします。A = [1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5, 5, 6]この場合、重複を除いたユニークな要素は「1, 2, 3, 4, 5, 6」の6つなので、出力は 6 となります。解法のアプローチこの問題は、以下の手順で解くことができ