首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使最近生成的列可为空?

问如何使最近生成的列可为空?
EN

Stack Overflow用户
提问于 2019-05-17 09:20:51
回答 1查看 89关注 0票数 0

我创建了一个新列并将其转换为整数。但是该列不能为空。如何使新列可为空?

代码语言:javascript
复制
from pyspark.sql import functions as F
from pyspark.sql import types as T
zschema = T.StructType([T.StructField("col1", T.StringType(), True),\
                               T.StructField("col2", T.StringType(), True),\
                       T.StructField("time", T.DoubleType(), True),\
                     T.StructField("val", T.DoubleType(), True)])
df = spark.createDataFrame([("a","b", 1.0,2.0), ("a","b", 2.0,3.0) ], zschema) 
df.printSchema()
df.show()

df = df.withColumn("xcol" , F.lit(0)) 
df = df.withColumn( "xcol" , F.col("xcol").cast(T.IntegerType()) )

df.printSchema()
df.show()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-17 13:15:45

代码语言:javascript
复制
df1 = df.rdd.toDF()
df1.printSchema()
root
 |-- col1: string (nullable = true)
 |-- col2: string (nullable = true)
 |-- time: double (nullable = true)
 |-- val: double (nullable = true)
 |-- xcol: long (nullable = true)    
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56178396

复制
相关文章

相似问题

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