我正在参与一个数据挖掘项目,在进行特征工程时遇到了一些问题.我的目标之一是根据主键聚合数据,并生成新列.所以我写下:
df = df.group_by("case_id").agg(date_exprs(df,df_base))
def date_expr(df, df_base):
# Join df and df_base on 'case_id' column
df = df.join(df_base[['case_id','date_decision']], on="case_id", how="left")
for col in df.columns:
if col[-1] in ("D",):
df = df.with_columns(pl.col(col) - pl.col("date_decision"))
df = df.with_columns(pl.col(col).dt.total_days())
cols = [col for col in df.columns if col[-1] in ("D",)]
# Generate expressions for max, min, mean, mode, and std of date differences
expr_max = [pl.max(col).alias(f"max_{col}") for col in cols]
expr_min = [pl.min(col).alias(f"min_{col}") for col in cols]
expr_mean = [pl.mean(col).alias(f"mean_{col}") for col in cols]
expr_mode = [pl.mode(col).alias(f"mode_{col}") for col in cols]
expr_std = [pl.std(col).alias(f"std_{col}") for col in cols]
return expr_max + expr_min + expr_mean + expr_mode + expr_std
但是,出现了一个错误:AttributeError:模块‘polars’没有属性‘mode’.
我在GitHub上查找了Polar的文档,发现没有Dataframe.mode(),只有Series.mode(),我认为这可能是错误的原因?我提到了chat GPT,它无能为力,因为这些有错误的代码就是从它那里来的.
此外,这里只是一个处理浮点类型的示例.字符串类型呢?我也可以用你的方法吗?
我期待着您的好意帮助!