鱼C论坛

 找回密码
 立即注册
查看: 1346|回复: 4

[已解决]pyspark报错

[复制链接]
发表于 2022-4-29 17:01:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 澍梵. 于 2022-4-29 17:03 编辑

dataZscore:

  1. dataZscore = (dataTransformed - dataTransformed.mean(axis=0)) /dataTransformed.std(axis=0)
  2. dataZscore.columns = ['Z' + i for i in dataTransformed.columns]
  3. dataZscore.head()

  4.         ZL         ZR         ZF         ZM         ZC
  5. 0         1.435707         -0.944948         14.034016         26.761154         0.315041
  6. 1         1.307152         -0.911894         9.073213         13.126864         0.315041
  7. 2         1.328381         -0.889859         8.718869         12.653481         0.315041
  8. 3         0.658476         -0.416098         0.781585         12.540622         0.315041
  9. 4         0.386032         -0.922912         9.923636         13.898736         0.315041
复制代码

  1. #Kmeans
  2. #导入工具包
  3. import time
  4. import pyspark.ml.clustering as clu
  5. # 获取程序运行前时间
  6. start = time.time()
  7. #通过上图观察可知最好的簇数量为5
  8. #初始化Kmeans模型
  9. kmodel = clu.KMeans(k=5, initMode='k-means||', initSteps=10,maxIter=300, seed=0)
  10. kmodel.fit(dataZscore)
  11. # # 获取程序运行结束后时间
  12. # end = time.time()
  13. # print(f"使用K-means聚类算法的运行时间为:%.3fs" % (end-start))
  14. # # 聚类算法的评价指标CH值的计算:
  15. # score = calinski_harabaz_score(dataZscore, labels)  # 至越大表示聚类效果越好
  16. # print("CH值:", score)
复制代码


一直报错,没办法解决

  1. ---------------------------------------------------------------------------
  2. AttributeError                            Traceback (most recent call last)
  3. <ipython-input-87-01ba619cc4ab> in <module>()
  4.      16 # kmodel = KMeans(k=5 ,maxIter=300, initSteps=10, initMode='k-means||', seed=0)
  5.      17 kmodel = clu.KMeans(k=5, initMode='k-means||', initSteps=10,maxIter=300, seed=0)
  6. ---> 18 kmodel.fit(dataZscore)
  7.      19 # kmodel = KMeans(k=5 ,maxIter=300)
  8.      20 # kmodel.fit(dataZscore)

  9. ~/hadoop/spark/python/pyspark/ml/base.py in fit(self, dataset, params)
  10.     159                 return self.copy(params)._fit(dataset)
  11.     160             else:
  12. --> 161                 return self._fit(dataset)
  13.     162         else:
  14.     163             raise ValueError("Params must be either a param map or a list/tuple of param maps, "

  15. ~/hadoop/spark/python/pyspark/ml/wrapper.py in _fit(self, dataset)
  16.     333
  17.     334     def _fit(self, dataset):
  18. --> 335         java_model = self._fit_java(dataset)
  19.     336         model = self._create_model(java_model)
  20.     337         return self._copyValues(model)

  21. ~/hadoop/spark/python/pyspark/ml/wrapper.py in _fit_java(self, dataset)
  22.     330         """
  23.     331         self._transfer_params_to_java()
  24. --> 332         return self._java_obj.fit(dataset._jdf)
  25.     333
  26.     334     def _fit(self, dataset):

  27. ~/anaconda3/lib/python3.6/site-packages/pandas/core/generic.py in __getattr__(self, name)
  28.    4370             if self._info_axis._can_hold_identifiers_and_holds_name(name):
  29.    4371                 return self[name]
  30. -> 4372             return object.__getattribute__(self, name)
  31.    4373
  32.    4374     def __setattr__(self, name, value):

  33. AttributeError: 'DataFrame' object has no attribute '_jdf'
复制代码

  1. 'DataFrame' object has no attribute '_jdf'
复制代码
最佳答案
2022-4-29 20:58:12
参考文章:https://stackoverflow.com/questi ... as-no-attribute-jdf

DataFrame 对象没有 _jdf 属性,将 DataFrame 对象转换为 Spark 对象试试看?

  1. from pyspark.sql import SQLContext
  2. sc = SparkContext.getOrCreate()
  3. sqlContext = SQLContext(sc)

  4. spark_dff = sqlContext.createDataFrame(panada_df)
复制代码



小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-4-29 20:58:12 | 显示全部楼层    本楼为最佳答案   
参考文章:https://stackoverflow.com/questi ... as-no-attribute-jdf

DataFrame 对象没有 _jdf 属性,将 DataFrame 对象转换为 Spark 对象试试看?

  1. from pyspark.sql import SQLContext
  2. sc = SparkContext.getOrCreate()
  3. sqlContext = SQLContext(sc)

  4. spark_dff = sqlContext.createDataFrame(panada_df)
复制代码



小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-29 22:07:16 | 显示全部楼层
Twilight6 发表于 2022-4-29 20:58
参考文章:https://stackoverflow.com/questions/55604506/error-attributeerror-dataframe-object-has-no- ...

这个解决了,但是又报新错
  1. IllegalArgumentException                  Traceback (most recent call last)
  2. <ipython-input-53-ce53578cdb27> in <module>()
  3.      12 # kmodel = KMeans(k=5 ,maxIter=300, initSteps=10, initMode='k-means||', seed=0)
  4.      13 kmodel = clu.KMeans(k=5, initMode='k-means||', initSteps=10,maxIter=300, seed=0)
  5. ---> 14 kmodel.fit(spark_df)
  6.      15 # kmodel = KMeans(k=5 ,maxIter=300)
  7.      16 # kmodel.fit(dataZscore)

  8. ~/hadoop/spark/python/pyspark/ml/base.py in fit(self, dataset, params)
  9.     159                 return self.copy(params)._fit(dataset)
  10.     160             else:
  11. --> 161                 return self._fit(dataset)
  12.     162         else:
  13.     163             raise ValueError("Params must be either a param map or a list/tuple of param maps, "

  14. ~/hadoop/spark/python/pyspark/ml/wrapper.py in _fit(self, dataset)
  15.     333
  16.     334     def _fit(self, dataset):
  17. --> 335         java_model = self._fit_java(dataset)
  18.     336         model = self._create_model(java_model)
  19.     337         return self._copyValues(model)

  20. ~/hadoop/spark/python/pyspark/ml/wrapper.py in _fit_java(self, dataset)
  21.     330         """
  22.     331         self._transfer_params_to_java()
  23. --> 332         return self._java_obj.fit(dataset._jdf)
  24.     333
  25.     334     def _fit(self, dataset):

  26. ~/hadoop/spark/python/lib/py4j-0.10.9-src.zip/py4j/java_gateway.py in __call__(self, *args)
  27.    1303         answer = self.gateway_client.send_command(command)
  28.    1304         return_value = get_return_value(
  29. -> 1305             answer, self.gateway_client, self.target_id, self.name)
  30.    1306
  31.    1307         for temp_arg in temp_args:

  32. ~/hadoop/spark/python/pyspark/sql/utils.py in deco(*a, **kw)
  33.     115                 # Hide where the exception came from that shows a non-Pythonic
  34.     116                 # JVM exception message.
  35. --> 117                 raise converted from None
  36.     118             else:
  37.     119                 raise

  38. IllegalArgumentException: features does not exist. Available: ZL, ZR, ZF, ZM, ZC
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-29 22:09:54 | 显示全部楼层
澍梵. 发表于 2022-4-29 22:07
这个解决了,但是又报新错



这不太清楚了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-4-29 22:23:25 | 显示全部楼层

好的吧,感谢了!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-29 04:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表