Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PySpark:无法导入名称“OneHotEncoderEstimator”_Python_Apache Spark_Pyspark - Fatal编程技术网

Python PySpark:无法导入名称“OneHotEncoderEstimator”

Python PySpark:无法导入名称“OneHotEncoderEstimator”,python,apache-spark,pyspark,Python,Apache Spark,Pyspark,我刚刚开始学习Spark。目前,我正在尝试对数据帧中的单个列执行一个热编码。但是,我无法从pyspark导入OneHotEncoderEstimator。我曾尝试导入3.0.0中的OneHotEncoder,spark可以导入它,但它缺少转换功能。下面是我的代码的输出。如果有人遇到类似问题,请帮助。非常感谢您抽出时间 第一个问题是编码器对象没有“转换”错误。这是一个类别索引器。在变换对象的列之前,必须使用fit函数训练OneHotEncoderEstimator。这样,编码器对象将从数据中学习,

我刚刚开始学习Spark。目前,我正在尝试对数据帧中的单个列执行一个热编码。但是,我无法从pyspark导入OneHotEncoderEstimator。我曾尝试导入3.0.0中的OneHotEncoder,spark可以导入它,但它缺少转换功能。下面是我的代码的输出。如果有人遇到类似问题,请帮助。非常感谢您抽出时间


第一个问题是编码器对象没有“转换”错误。这是一个类别索引器。在变换对象的列之前,必须使用fit函数训练OneHotEncoderEstimator。这样,编码器对象将从数据中学习,并能够将数据传输到编码的类别向量。大多数类别索引器模型都需要fit函数来从数据本身学习

所以你应该做的是

encoder = OneHotEncoderEstimator(dropLast=False, inputCol:"AgeIndex", outputCol="AgeVec"
model = encoder.fit(df)
encoded = model.transform(df)
encoded.show()
另外,我建议你在开始一个项目之前阅读文档。如果你是新手,文档帮助很大。spark的一部分,其中包括作为链接发布在此处的转换操作


您的第二个问题是导入错误,因为您正在使用笔记本,我建议您检查笔记本的环境。但是您的版本是预览版本,它主要考虑开发人员和测试人员。对于初学者来说,应该始终选择最新的测试版本。尝试切换回spark-2.4.4并检查笔记本电脑的环境

您的第一个问题是编码器对象没有“transform”错误。这是一个类别索引器。在变换对象的列之前,必须使用fit函数训练OneHotEncoderEstimator。这样,编码器对象将从数据中学习,并能够将数据传输到编码的类别向量。大多数类别索引器模型都需要fit函数来从数据本身学习

所以你应该做的是

encoder = OneHotEncoderEstimator(dropLast=False, inputCol:"AgeIndex", outputCol="AgeVec"
model = encoder.fit(df)
encoded = model.transform(df)
encoded.show()
另外,我建议你在开始一个项目之前阅读文档。如果你是新手,文档帮助很大。spark的一部分,其中包括作为链接发布在此处的转换操作


您的第二个问题是导入错误,因为您正在使用笔记本,我建议您检查笔记本的环境。但是您的版本是预览版本,它主要考虑开发人员和测试人员。对于初学者来说,应该始终选择最新的测试版本。尝试切换回spark-2.4.4并检查笔记本电脑的环境

除了Ulgen,OneHotEncoderEstimator已从spark 2.4版起重命名为OneHotEncoder。

除了Ulgen,OneHotEncoderEstimator已从spark 2.4版起重命名为OneHotEncoder。

请在SO上截图。请在SO上截图@cronoik所说的内容请在SO上截图。@cronoik所说的内容感谢您的快速回复!我确实读了spark github repo的OneHotEncoder,但是我输入了错误的代码,所以它被窃听了。非常感谢您的快速回复!我确实读过spark github repo的OneHotEncoder,但是我输入了错误的代码,所以它被窃听了。谢谢,它工作了谢谢,它工作了