Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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
替换列表列pyspark中的null_Pyspark - Fatal编程技术网

替换列表列pyspark中的null

替换列表列pyspark中的null,pyspark,Pyspark,我有一个如下所示的数据帧,并尝试使用df.fillna(0)或df.fillna(“nn”)替换null,这两种方法似乎对数据帧没有影响。如有任何建议,将不胜感激。 id |值 +-----------+------------+ 1 |[“a”、“b”、“c”] 6 | null您确定已将新数据帧分配给旧数据帧吗?因为它不在原地做。 您应该这样做: df = df.fillna(0) df = df.fillna("nn") 您确定已将新数据帧指定给旧数据帧吗?因为它不在原地做。 您应该这

我有一个如下所示的数据帧,并尝试使用df.fillna(0)或df.fillna(“nn”)替换null,这两种方法似乎对数据帧没有影响。如有任何建议,将不胜感激。

id |值
+-----------+------------+
1 |[“a”、“b”、“c”]

6 | null

您确定已将新数据帧分配给旧数据帧吗?因为它不在原地做。 您应该这样做:

df = df.fillna(0)
df = df.fillna("nn")

您确定已将新数据帧指定给旧数据帧吗?因为它不在原地做。 您应该这样做:

df = df.fillna(0)
df = df.fillna("nn")

df.fillna(0)仅对数值列有效,df.fillna(“nn”)对字符串列有效。这意味着value列既不是数字也不是字符串类型,或者第二行中的null是文本字符串。可以显示df.printSchema()数组(nullable=true)|--element:array(containsnall=true)| |--element:string(containsnll=true)df.fillna不支持复杂的数据类型(
array
struct
等),可以使用SQL表达式:
df.withColumn('value',.expr(“coalesce(value,array('nn')))
或使用API函数:coalesce+array+lit。这会将
null
转换为一个包含一个项的数组
nn
。如果要用空数组填充,则只需
coalesce(value,array())
df.fillna(0)对数值列有效,df.fillna(“nn”)对字符串列有效。这意味着value列既不是数字也不是字符串类型,或者第二行中的null是文本字符串。可以显示df.printSchema()数组(nullable=true)|--element:array(containsnall=true)| |--element:string(containsnll=true)df.fillna不支持复杂的数据类型(
array
struct
等),可以使用SQL表达式:
df.withColumn('value',.expr(“coalesce(value,array('nn')))
或使用API函数:coalesce+array+lit。这将
null
转换为一个包含一个项的数组
nn
。如果您想用空数组填充,那么只需
合并(value,array())
是的,我正在分配给一个新的数据帧。这里的问题是fillna无法处理复杂的数据类型。是的,我正在分配一个新的数据帧。这里的问题是fillna无法处理复杂的数据类型。