首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AttributeError:‘NoneType’对象没有属性‘select’{##**$$}PySPark

AttributeError:‘NoneType’对象没有属性‘select’{##**$$}PySPark
EN

Stack Overflow用户
提问于 2021-09-12 05:31:26
回答 1查看 1.2K关注 0票数 1

这可能是一个非常基本的问题,因为我是初级火种。我已经读取了一个CSV文件,并试图应用一些吡火花函数,如过滤器,拆分或替换在它上。但我面临一个错误这是我的代码..。

代码语言:javascript
运行
复制
emp_data = spark\
            .read\
            .format('csv')\
            .option("inferSchema","true")\
            .option("header","true")\
            .load("/FileStore/tables/employee_earnings_report_2016-1.csv")

在读取文件之后,我应用了过滤器.这是运行良好的

代码语言:javascript
运行
复制
import pyspark.sql.functions as f
df = emp_data.filter((f.col("POSTAL") == 2148) | (f.col("POSTAL") == 2125)).show(5)

+-----------------+-----------+-----+-------+----------+-------+------+-------------------------+--------------+------+------+
|             NAME|    REGULAR|RETRO|  OTHER|  OVERTIME|INJURED|DETAIL|QUINN/EDUCATION INCENTIVE|TOTAL EARNINGS|POSTAL|Gender|
+-----------------+-----------+-----+-------+----------+-------+------+-------------------------+--------------+------+------+
|    Abbasi,Sophia| $18,249.83|   NA|     NA|        NA|     NA|    NA|                       NA|    $18,249.83|  2148|     M|
|Abbruzzese,Angela|  $5,000.90|   NA|     NA|        NA|     NA|    NA|                       NA|     $5,000.90|  2125|     M|
| Abbruzzese,Donna|    $621.90|   NA|     NA|        NA|     NA|    NA|                       NA|       $621.90|  2125|     M|
|  Abdelrahim,Maha|  $1,181.60|   NA|     NA|        NA|     NA|    NA|                       NA|     $1,181.60|  2125|     M|
|   Abron,Wayne E.|$103,667.51|   NA|$550.00|$13,696.60|     NA|    NA|                       NA|   $117,914.11|  2125|     M|
+-----------------+-----------+-----+-------+----------+-------+------+-------------------------+--------------+------+------+

接下来,我想在‘name’列上应用拆分函数,并提取名称的第一个索引.我是这样做的.

代码语言:javascript
运行
复制
df_new = df.select(f.split(f.col("NAME"), ',')).show(3)

产生以下错误

代码语言:javascript
运行
复制
AttributeError: 'NoneType' object has no attribute 'select'

如何解决此错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-12 05:49:34

这个问题是由于

代码语言:javascript
运行
复制
df = emp_data.filter((f.col("POSTAL") == 2148) | (f.col("POSTAL") == 2125)).show(5)

在末尾添加.show(5)将对象的类型从pyscemDataFrame更改为NoneType

因此,当您使用df_new = df.select(f.split(f.col("NAME"), ',')).show(3)时,会得到错误AttributeError: 'NoneType' object has no attribute 'select'

要做到这一点,一个更好的方法是使用:

代码语言:javascript
运行
复制
df = emp_data.filter((f.col("POSTAL") == 2148) | (f.col("POSTAL") == 2125))
df.show(5)

您还可以将display(df)用于样式显示。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69148721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档