MCPcopy
hub / github.com/vnpy/vnpy / process_replace_inf

Function process_replace_inf

vnpy/alpha/dataset/processor.py:80–99  ·  view source on GitHub ↗

Replace infinite values with per-symbol means

(df: pl.DataFrame)

Source from the content-addressed store, hash-verified

78
79
80def process_replace_inf(df: pl.DataFrame) -> pl.DataFrame:
81 """Replace infinite values with per-symbol means"""
82 _df: pl.DataFrame = df.fill_nan(None)
83
84 for name in df.columns[2:]:
85 mean_values: pl.DataFrame = (
86 _df.filter(~pl.col(name).is_infinite()).group_by("vt_symbol").agg(
87 [pl.col(name).mean().alias("mean")]
88 )
89 )
90
91 df_with_mean: pl.DataFrame = df.join(mean_values, on="vt_symbol", how="left")
92 df = df_with_mean.with_columns(
93 pl.when(pl.col(name).is_infinite())
94 .then(pl.col("mean"))
95 .otherwise(pl.col(name))
96 .alias(name)
97 ).drop("mean")
98
99 return df
100
101
102def process_ts_norm(

Callers

nothing calls this directly

Calls 1

joinMethod · 0.45

Tested by

no test coverage detected