spark dataframe有三列col1,col2,col3,对col1和col2进行minmax归一化处理,给出代码
时间: 2024-01-26 13:02:45 浏览: 91
spark dataframe 将一列展开,把该列所有值都变成新列的方法
下面是使用SparkSQL中的min和max函数完成DataFrame归一化的代码:
```python
from pyspark.ml.feature import MinMaxScaler
# 假设我们的DataFrame名为df,包含三列col1, col2, col3
cols_to_norm = ['col1', 'col2']
# 使用MinMaxScaler进行归一化,将结果存储到新列
scaler = MinMaxScaler(inputCol=cols_to_norm, outputCol='scaled_features')
df = scaler.fit(df).transform(df)
# 查看新列的结果
df.select('scaled_features', 'col1', 'col2', 'col3').show()
```
这将使用`MinMaxScaler`从DataFrame中选择列`col1`和`col2`来归一化,结果存储在名为`scaled_features`的新列中。调用的`fit()`方法将计算每列的最小和最大值,然后使用`transform()`方法将结果应用于DataFrame。最后,列`scaled_features`添加到DataFrame中并显示结果。
阅读全文