Closed1
クレンジングを関数型で列挙するための関数群メモ
from functools import reduce
# 対Series配列 論理演算用関数
def or_filter(*funcs):
return reduce(lambda f, g: lambda x: f(x) | g(x), funcs)
def and_filter(*funcs):
return reduce(lambda f, g: lambda x: f(x) & g(x), funcs)
# 対Series配列 パイプ処理用関数
def composite(*funcs):
return reduce(lambda f, g: lambda *x: g(f(*x)), funcs)
Seriesを受け取り各要素に対してTrue/Falseを判定する関数群 *funcs(=func_01(series), func_02(series), ...)
に対して
or_filter(
func_01,
func_02,
...
)(series)
and_filter(
func_01,
func_02,
...
)(series)
と連鎖的に処理を記述することが可能。
またSeriesを受け取りSeriesを返却する関数群 *funcs(=func_a(series), func_b(series))
に対して
composite(
func_a,
func_b,
...
)(series)
と記述することが可能。
このスクラップは2023/10/18にクローズされました