如何使 FeatureUnion 返回数据框
Posted
技术标签:
【中文标题】如何使 FeatureUnion 返回数据框【英文标题】:How to make FeatureUnion return Dataframe 【发布时间】:2016-08-07 17:23:27 【问题描述】:所以我目前有一个拥有很多客户转换器的管道:
p = Pipeline([
("GetTimeFromDate",TimeTransformer("Date")), #Custom Transformer that adds ["time"] column
("GetZipFromAddress",ZipTransformer("Address")), #Custom Transformer that adds ["zip"] column
("GroupByTimeandZip",GroupByTransformer(["time","zip"]) #Custom Transformer that adds onehot columns
])
每个转换器都接收一个 pandas 数据帧,并返回包含一个或多个新列的相同数据帧。它实际上工作得很好,但我怎样才能并行运行“GetTimeFromDate”和“GetZipFromAddress”步骤?
我想使用 FeatureUnion:
f = FeatureUnion([
("GetTimeFromDate",TimeTransformer("Date")), #Custom Transformer that adds ["time"] column
("GetZipFromAddress",ZipTransformer("Address")), #Custom Transformer that adds ["zip"] column])
])
p = Pipeline([
("FeatureUnionStep",f),
("GroupByTimeandZip",GroupByTransformer(["time","zip"]) #Custom Transformer that adds onehot columns
])
但问题是 FeatureUnion 返回一个 numpy.ndarray,但“GroupByTimeandZip”步骤需要一个数据框。
有没有办法让 FeatureUnion 返回熊猫数据框?
【问题讨论】:
您好,要将 FeatureUnion 与异构数据源一起使用,请参阅:scikit-learn.org/stable/auto_examples/hetero_feature_union.html 【参考方案1】:对于FeatureUnion
输出DataFrame
,您可以使用此blog post 中的PandasFeatureUnion
。另请参阅gist。
【讨论】:
以上是关于如何使 FeatureUnion 返回数据框的主要内容,如果未能解决你的问题,请参考以下文章
使用 ColumnTransformer/FeatureUnion 后构建完整数据框(特征值 + 名称)的推荐方法是啥?
如何使用从 API 调用返回的 JSON 数据使 jquery 自动建议