注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
1 つ以上の time series の分布を評価する関数を返します。
分布とは、要求された値の範囲を分割する値のビンへのポイントの内訳です。 分布を評価すると、その範囲内のポイント数を示すビンのリストが返され、範囲の開始と終了も含まれます。
分布は単一のシリーズまたは複数のシリーズに適用でき、複数のシリーズに適用する場合、最終的なデータフレーム内の各ビンに対してすべてのシリーズからの値の合併を考慮します。
各ビンの値の範囲のデルタは一定であり、(最大値 - 最小値) / (ビンの数) で計算されます。
列名 | 型 | 説明 |
---|---|---|
start_timestamp | datetime | 分布の開始時間 (包括的) |
end_timestamp | datetime | 分布の終了時間 (排他的) |
start | float | 値の下限 (包括的) |
end | float | 値の上限 (排他的) |
delta | float | 各ビンの最小値と最大値の差。ビンの計算方法により、デルタはすべてのビンで固定されています。 |
distribution_values.start | float | 分布ビンの開始値 |
distribution_values.end | float | 分布ビンの終了値 |
distribution_values.count | int | 分布ビン内のインスタンス数 |
この関数は数値系列にのみ適用可能です。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
>>> series_1 = F.points( ... (1, 0.0), ... (101, 10.2), ... (200, 11.3), ... (201, 11.1), ... (299, 11.2), ... (300, 12.0), ... (400, 11.7), ... (500, 16.0), ... (123450, 11.8), ... name="series-1", ... ) # series_1という名前の時系列データを作成 >>> series_2 = F.points( ... (1, 0.5), ... (101, 0.2), ... (200, 1.3), ... (201, 0.1), ... (299, 1.2), ... (300, 1.4), ... (400, 1.0), ... (500, 2.0), ... (123450, 1.0), ... name="series-2", ... ) # series_2という名前の時系列データを作成 >>> series_1.to_pandas() timestamp value 0 1970-01-01 00:00:00.000000001 0.0 1 1970-01-01 00:00:00.000000101 10.2 2 1970-01-01 00:00:00.000000200 11.3 3 1970-01-01 00:00:00.000000201 11.1 4 1970-01-01 00:00:00.000000299 11.2 5 1970-01-01 00:00:00.000000300 12.0 6 1970-01-01 00:00:00.000000400 11.7 7 1970-01-01 00:00:00.000000500 16.0 8 1970-01-01 00:00:00.000123450 11.8 # series_1のデータをPandas DataFrame形式に変換 >>> series_2.to_pandas() timestamp value 0 1970-01-01 00:00:00.000000001 0.5 1 1970-01-01 00:00:00.000000101 0.2 2 1970-01-01 00:00:00.000000200 1.3 3 1970-01-01 00:00:00.000000201 0.1 4 1970-01-01 00:00:00.000000299 1.2 5 1970-01-01 00:00:00.000000300 1.4 6 1970-01-01 00:00:00.000000400 1.0 7 1970-01-01 00:00:00.000000500 2.0 8 1970-01-01 00:00:00.000123450 1.0 # series_2のデータをPandas DataFrame形式に変換 >>> nc = NodeCollection(series_1, series_2) # series_1とseries_2をNodeCollectionにまとめる
Copied!1 2 3 4 5 6
>>> single_dist = F.distribution(bins=3)(series_1) # 単一の系列の分布を計算する >>> single_dist.to_pandas() delta distribution_values.count distribution_values.end distribution_values.start end end_timestamp start start_timestamp 0 5.333333 1 5.333333 0.000000 16.0 2262-01-01 0.0 1677-09-21 00:12:43.145225216 1 5.333333 1 10.666667 5.333333 16.0 2262-01-01 0.0 1677-09-21 00:12:43.145225216 2 5.333333 7 16.000000 10.666667 16.0 2262-01-01 0.0 1677-09-21 00:12:43.145225216
このコードは、指定された series_1
のデータを3つのビンに分けて分布を計算し、結果をPandasのデータフレーム形式で表示します。各ビンの範囲 (start
と end
) とその中に含まれるデータポイントの数 (count
) が記録されています。
Copied!1 2 3 4 5 6
>>> multiple_dist = F.distribution(bins=3)(nc) # 複数の系列の分布を計算 >>> multiple_dist.to_pandas() delta distribution_values.count distribution_values.end distribution_values.start end end_timestamp start start_timestamp 0 5.333333 10 5.333333 0.000000 16.0 2262-01-01 0.0 1677-09-21 00:12:43.145225216 1 5.333333 1 10.666667 5.333333 16.0 2262-01-01 0.0 1677-09-21 00:12:43.145225216 2 5.333333 7 16.000000 10.666667 16.0 2262-01-01 0.0 1677-09-21 00:12:43.145225216