注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

foundryts.nodes.SummarizerNode

クラス foundryts.nodes.SummarizerNode(children)

1個以上の FunctionNode を最終結果に集約するための遅延クエリコンテナです。

SummarizerNode は、生の時系列または変換された時系列の最終的な評価形式であり、FoundryTS で それ以上変換することはできません。通常は、SummarizerNode.to_pandas() または SummarizerNode.to_dataframe() を使用して SummarizerNode をデータフレームに評価し、 それぞれのデータフレームライブラリを使用して変換や分析を行います。

例

Copied!
1 2 3 4 5 6 7 8 9 >>> series = F.points( ... (100, 0.0), (200, float("inf")), (300, 3.14159), (2147483647, 1.0), name="series" ... ) # FunctionNode >>> series.to_pandas() timestamp value 0 1970-01-01 00:00:00.000000100 0.00000 1 1970-01-01 00:00:00.000000200 inf 2 1970-01-01 00:00:00.000000300 3.14159 3 1970-01-01 00:00:02.147483647 1.00000
Copied!
1 2 3 4 5 6 >>> dist_node = series.distribution() # SummarizerNode >>> dist_node.to_pandas() delta distribution_values.count distribution_values.end distribution_values.start end end_timestamp start start_timestamp 0 0.314159 1 0.314159 0.000000 3.14159 2262-01-01 0.0 1677-09-21 00:12:43.145225216 1 0.314159 1 1.256636 0.942477 3.14159 2262-01-01 0.0 1677-09-21 00:12:43.145225216 2 0.314159 1 3.141590 2.827431 3.14159 2262-01-01 0.0 1677-09-21 00:12:43.145225216

columns()

このノードを pandas データフレームに評価すると生成される pandas.DataFrame の列名を表す文字列のタプルを返します。

注

ネストされたオブジェクトのキーは、ネストされたキーを . で結合したタプルにフラット化されます。

  • 戻り値: 現在のノードを評価して生成されるデータフレームの列名を含むタプルです。
  • 戻り値の型: Tuple[str]

例

Copied!
1 2 3 4 5 6 7 >>> node = foundryts.functions.series("series1") >>> node.columns() ("timestamp", "value") >>> stats_node = series.statistics(start=0, end=100, window_size=None) >>> stats_node.columns() ("count", "smallest_point.timestamp", "start_timestamp", "latest_point.timestamp", "mean", "earliest_point.timestamp", "largest_point.timestamp", "end_timestamp")

プロパティ series_ids

このノードとその子ノードで使用されるすべての時系列識別子です。

to_dataframe(fts=None)

このノードを pyspark.sql.DataFrame に評価します。

PySpark DataFrame は、分散データ処理と並列化された変換を可能にします。行数の多いデータフレームを 扱う場合に役立ちます。たとえば、生の時系列のすべてのポイントや FunctionNode の結果を読み込む場合、または複数の SummarizerNode や FunctionNode の結果をまとめて評価する場合などです。

  • パラメーター: fts (foundryts.FoundryTS , 任意) – クエリの実行に使用する FoundryTS セッション(値を指定しない場合は、新しいセッションが作成されます)。
  • 戻り値: ノードを PySpark データフレームに評価した出力です。
  • 戻り値の型: pyspark.sql.DataFrame

例

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 >>> series_node = F.points( ... (100, 0.0), (200, float("inf")), (300, 3.14159), (2147483647, 1.0), name="series" ... ) >>> series_node.to_dataframe().show() +-------------------------------+---------+ | timestamp | value | +-------------------------------+---------+ | 1970-01-01 00:00:00.000000100 | 0.0 | | 1970-01-01 00:00:00.000000200 | Infinity| | 1970-01-01 00:00:00.000000300 | 3.14159 | | 1970-01-01 00:00:02.147483647 | 1.0 | +-------------------------------+---------+

to_dict(fts=None)

このノードを、ノードの結果を含むネストされた辞書に評価します。

SummarizerNode が複数の結果を返す場合、このメソッドは辞書のリストを返し、 リストの各項目が1件の結果に対応します。

  • パラメーター: fts (foundryts.FoundryTS , 任意) – クエリの実行に使用する FoundryTS セッション(値を指定しない場合は、新しいセッションが作成されます)。
  • 戻り値: ノードを辞書または辞書のリストに評価した出力です。
  • 戻り値の型: Union[Dict[str, Any], List[Dict[str, Any]]]

例

Copied!
1 2 3 4 5 6 7 8 9 >>> series = F.points( ... (100, 0.0), (200, float("inf")), (300, 3.14159), (2147483647, 1.0), name="series" ... ) # FunctionNode >>> series.to_pandas() timestamp value 0 1970-01-01 00:00:00.000000100 0.00000 1 1970-01-01 00:00:00.000000200 inf 2 1970-01-01 00:00:00.000000300 3.14159 3 1970-01-01 00:00:02.147483647 1.00000
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 >>> dist_node = series.distribution() # SummarizerNode >>> dist_node.to_pandas() { 'start_timestamp': Timestamp('1677-09-21 00:12:43.145225216'), 'end_timestamp': Timestamp('2262-01-01 00:00:00'), 'start': 0.0, 'end': 3.1415900000000003, 'delta': 0.314159, 'distribution_values': [ { 'start': 0.0, 'end': 0.314159, 'count': 1 }, { 'start': 0.942477, 'end': 1.256636, 'count': 1 }, { 'start': 2.8274310000000002, 'end': 3.1415900000000003, 'count': 1 } ] }

to_object(fts=None)

このノードを、ノードの結果を含む Python オブジェクトに評価します。

SummarizerNode が複数の結果を返す場合、このメソッドはオブジェクトのリストを返し、 リストの各項目が1件の結果に対応します。

  • パラメーター: fts (foundryts.FoundryTS , 任意) – クエリの実行に使用する FoundryTS セッション(値を指定しない場合は、新しいセッションが作成されます)。
  • 戻り値: ノードを Python オブジェクトまたはオブジェクトのリストに評価した出力です。
  • 戻り値の型: Union[Any, List[Any]]

例

Copied!
1 2 3 4 5 6 7 8 9 >>> series = F.points( ... (100, 0.0), (200, float("inf")), (300, 3.14159), (2147483647, 1.0), name="series" ... ) # FunctionNode >>> series.to_pandas() timestamp value 0 1970-01-01 00:00:00.000000100 0.00000 1 1970-01-01 00:00:00.000000200 inf 2 1970-01-01 00:00:00.000000300 3.14159 3 1970-01-01 00:00:02.147483647 1.00000
Copied!
1 2 3 4 5 6 7 8 9 10 >>> dist_node = series.distribution() # SummarizerNode >>> dist_node.to_object() _CuratedDistribution(start_timestamp=Timestamp(epoch_seconds=-9223372037, offset_nanos=145224193), end_timestamp=Timestamp(epoch_seconds=9214646400, offset_nanos=0), start=0.0, end=3.1415900000000003, delta=0.314159, distribution_values=[ DistributionDataPoint(start=0.0, end=0.314159, count=1), DistributionDataPoint(start=0.942477, end=1.256636, count=1), DistributionDataPoint(start=2.8274310000000002, end=3.1415900000000003, count=1) ] )

to_pandas(fts=None)

このノードを pandas.DataFrame に評価します。

SummarizerNode の DataFrame の結果は、1行(集約処理が複数の結果を返す場合は要素ごとに1行)と、 結果のオブジェクト内のリーフレベルの値ごとに1列を持つ pandas.DataFrame にフラット化されます。ネストされたキーはドットで区切られます。

  • パラメーター: fts (foundryts.FoundryTS , 任意) – クエリの実行に使用する FoundryTS セッション(値を指定しない場合は、新しいセッションが作成されます)。
  • 戻り値: ノードを Pandas データフレームに評価した出力です。
  • 戻り値の型: pd.DataFrame

例

Copied!
1 2 3 4 5 6 7 8 9 >>> series = F.points( ... (100, 0.0), (200, float("inf")), (300, 3.14159), (2147483647, 1.0), name="series" ... ) # FunctionNode >>> series.to_pandas() timestamp value 0 1970-01-01 00:00:00.000000100 0.00000 1 1970-01-01 00:00:00.000000200 inf 2 1970-01-01 00:00:00.000000300 3.14159 3 1970-01-01 00:00:02.147483647 1.00000
Copied!
1 2 3 4 5 6 >>> dist_node = series.distribution() # SummarizerNode >>> dist_node.to_pandas() delta distribution_values.count distribution_values.end distribution_values.start end end_timestamp start start_timestamp 0 0.314159 1 0.314159 0.000000 3.14159 2262-01-01 0.0 1677-09-21 00:12:43.145225216 1 0.314159 1 1.256636 0.942477 3.14159 2262-01-01 0.0 1677-09-21 00:12:43.145225216 2 0.314159 1 3.141590 2.827431 3.14159 2262-01-01 0.0 1677-09-21 00:12:43.145225216

types()

このノードを pandas データフレームに評価すると生成される pandas.DataFrame の列のデータ型を含むタプルを返します。

  • 戻り値: 現在のノードを評価して生成されるデータフレームの列のデータ型を含むタプルです。
  • 戻り値の型: Tuple[Type]

例

Copied!
1 2 3 4 5 6 >>> node = foundryts.functions.points() >>> node.types() (<class 'int'>, <class 'float'>) >>> stats_node = foundryts.functions.series("series1").statistics(start=0, end=100, window_size=None) >>> stats_node.types() (<class 'int'>, <class 'pandas._libs.tslibs.timestamps.Timestamp'>, <class 'float'>, <class 'pandas._libs.tslibs.timestamps.Timestamp'>, <class 'pandas._libs.tslibs.timestamps.Timestamp'>, <class 'float'>, <class 'pandas._libs.tslibs.timestamps.Timestamp'>, <class 'float'>, <class 'float'>, <class 'pandas._libs.tslibs.timestamps.Timestamp'>, <class 'float'>, <class 'pandas._libs.tslibs.timestamps.Timestamp'>)