【发布时间】:2018-12-27 04:28:26
【问题描述】:
来自 Florian 的示例代码
-----------+-----------+-----------+
|ball_column|keep_the |hall_column|
+-----------+-----------+-----------+
| 0| 7| 14|
| 1| 8| 15|
| 2| 9| 16|
| 3| 10| 17|
| 4| 11| 18|
| 5| 12| 19|
| 6| 13| 20|
+-----------+-----------+-----------+
代码的第一部分在禁止列表中删除列名称
#first part of the code
banned_list = ["ball","fall","hall"]
condition = lambda col: any(word in col for word in banned_list)
new_df = df.drop(*filter(condition, df.columns))
所以上面的代码应该去掉ball_column和hall_column。
代码的第二部分存储列表中的特定列。对于这个例子,我们将存储唯一剩下的一个,keep_column。
bagging =
Bucketizer(
splits=[-float("inf"), 10, 100, float("inf")],
inputCol='keep_the',
outputCol='keep_the')
现在使用管道对列进行装袋如下
model = Pipeline(stages=bagging).fit(df)
bucketedData = model.transform(df)
如何将代码的第一块(banned list、condition、new_df)作为阶段添加到 ml 管道?
【问题讨论】:
标签: python apache-spark pyspark apache-spark-sql