開発者ツールチェーンFoundryTSAPI リファレンスfunctions.udf

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

foundryts.functions.udf

foundryts.functions.udf(func, columns=None, types=None)

クエリ結果のデータフレームに対してユーザー定義関数を呼び出す関数を返します。

ユーザー定義関数 (UDF) は、データフレームを返すクエリの結果に対してカスタム Python コードを実行できる、時系列の特殊な機能です。 UDF は、すべてのクエリの結果に含まれる最終的なデータフレームに適用されます。

  • パラメーター:
    • func (Callable[[pandas.DataFrame], Any]) – 適用するユーザー定義関数。
    • columns (List [str ] , 任意) – func が pandas.DataFrame を返す場合の、結果のデータフレームの列名のリスト (デフォルトは入力データフレームの元の列名)。
    • types (List *[*Any ] , 任意) – func が pandas.DataFrame を返す場合の、結果のデータフレームの列のデータ型のリスト (デフォルトは入力データフレームの元の列のデータ型)。
  • 戻り値: 入力の :py`pandas.DataFrame` に UDF を適用した結果。
  • 戻り値の型: Any
関連項目

dsl()

例

Copied!
1 2 3 4 5 6 7 >>> series = F.points((0, 0.0), (100, 100.0), (140, 140.0), (200, 200.0), name="series") >>> series.to_pandas() timestamp value 0 1970-01-01 00:00:00.000000000 0.0 1 1970-01-01 00:00:00.000000100 100.0 2 1970-01-01 00:00:00.000000140 140.0 3 1970-01-01 00:00:00.000000200 200.0
Copied!
1 2 3 4 5 6 7 8 9 10 >>> def double(df: pandas.DataFrame) -> pandas.DataFrame: ... df["value"] *= 2 ... return df >>> doubled_series = F.udf(double, ["timestamp", "value"], [int, float])(series) >>> doubled_series.to_pandas() timestamp value 0 1970-01-01 00:00:00.000000000 0.0 1 1970-01-01 00:00:00.000000100 200.0 2 1970-01-01 00:00:00.000000140 280.0 3 1970-01-01 00:00:00.000000200 400.0