注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
提供された変換関数の出力となる新しい time series に 1 つ以上の time series をトランスフォームするための遅延クエリコンテナ。
各 FunctionNode は別の FunctionNode にトランスフォームするか、最終的なSummarizerNode
に計算できます。
また、遅延 FunctionNode を FunctionNode.to_pandas()
または FunctionNode.to_dataframe()
を使ってデータフレームに解決することもでき、トランスフォームされた time series がデータフレームの形式で出力されます。
Copied!1 2 3 4 5 6 7 8 9 10
>>> scaled = series.scale(1.5) # scaledはまだ評価されていないFunctionNodeです # scaledは他のFunctionNode操作と連結することができ、別の未評価のFunctionNodeを生成します >>> time_shifted = scaled.time_shift(1000) # time_shiftedをPandasデータフレームに変換すると、scaledとtime_shifted関数の出力で遅延クエリが評価されます >>> time_shifted.to_pandas() timestamp value 0 1970-01-01 00:00:00.000001100 0.000000 1 1970-01-01 00:00:00.000001200 inf 2 1970-01-01 00:00:00.000001300 4.712385 3 1970-01-01 00:00:02.147484647 1.500000
このノードを評価してpandasデータフレームを生成するときに生成されるpandas.DataFrame
の列名を表す文字列のタプルを返します。
ネストされたオブジェクトのキーは、ネストされたキーを.
で結合したタプルにフラット化されます。
Copied!1 2 3 4 5 6 7
>>> series_node = foundryts.functions.points(((100, 0.0), (200, 1.0)) >>> series_node.columns() ("timestamp", "value") # カラム名を表示 ("timestamp":タイムスタンプ, "value":値) >>> stats_node = series_node.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") # 統計情報のカラム名を表示
foundryts.functions.cumulative_aggregate()
を参照してください。
foundryts.functions.derivative()
を参照してください。
foundryts.functions.distribution()
を参照してください。
foundryts.functions.dsl()
を参照してください。
foundryts.functions.first_point()
を参照してください。
foundryts.functions.integral()
を参照してください。
foundryts.functions.interpolate()
を参照してください。
foundryts.functions.last_point()
を参照してください。
foundryts.functions.mean()
を参照してください。
foundryts.functions.periodic_aggregate()
を参照してください。
foundryts.functions.rolling_aggregate()
を参照してください。
foundryts.functions.scale()
を参照してください。
foundryts.functions.scatter()
を参照してください。
このノードとその子ノードで使用されるすべてのseries識別子。
foundryts.functions.skip_nonfinite()
を参照してください。
foundryts.functions.statistics()
を参照してください。
foundryts.functions.sum()
を参照してください。
foundryts.functions.time_extent()
を参照してください。
foundryts.functions.time_range()
を参照してください。
foundryts.functions.time_shift()
を参照してください。
このノードをpyspark.sql.DataFrame
に評価します。
PySpark DataFrameは分散データ処理と並列化されたトランスフォームを可能にします。たとえば、生のseriesのすべてのポイントを読み込む際や、複数のFunctionNode
またはSummarizerNode
を一緒に評価する際に便利です。
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 | +-------------------------------+---------+
このコードでは、F.points
関数を使って時系列データのノードを作成しています。各タプルは (タイムスタンプ, 値) のペアを表し、タイムスタンプは整数として指定されています。次に、作成したノードをデータフレームに変換し、show()
メソッドを使用して表示しています。
timestamp
: UNIXエポック(1970年1月1日)からのナノ秒単位のタイムスタンプvalue
: 各タイムスタンプに対応する数値データ特に、float("inf")
は無限大を表し、2147483647
のタイムスタンプは、整数の最大値に近い大きな値です。
このノードをpandas.DataFrame
に評価します。
これは、生またはトランスフォームされたtime seriesデータをpandas.DataFrame
にロードし、pandas.DataFrame
によって提供される操作を使用してトランスフォームを実行するのに役立ちます。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
>>> series = F.points( ... (100, 0.0), (200, float("inf")), (300, 3.14159), (2147483647, 1.0), name="series" ... ) # F.points 関数を使用してデータポイントを作成しています。 # 各タプルの最初の値はタイムスタンプ(ナノ秒単位)で、2番目の値はその時点の値です。 # たとえば、(100, 0.0) はタイムスタンプが100ナノ秒で値が0.0を意味します。 >>> series.to_pandas() # to_pandas() メソッドを使って、このデータを Pandas の DataFrame に変換しています。 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 # 出力された DataFrame には、タイムスタンプが日時形式で表示され、対応する値が表示されます。 # float("inf") は無限大を示します。
pandas.DataFrame
の列の型を表すタプルを返します。これは、このノードを評価して pandas dataframe を生成した場合のものです。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14
>>> node = foundryts.functions.points() >>> node.types() (<class 'int'>, <class 'float'>) # points() メソッドによって生成されるノードの型は、整数型と浮動小数点型です。 >>> stats_node = node.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'>) # statistics() メソッドによって生成されるノードの型は、複数のタイムスタンプ型と数値型(整数と浮動小数点型)が含まれています。 # このメソッドは、指定された範囲内での統計情報を取得するために使用されます。
foundryts.functions.udf()
を参照してください
foundryts.functions.unit_conversion()
を参照してください
foundryts.functions.value_shift()
を参照してください
foundryts.functions.where()
を参照してください