我想用相邻列中的值替换一列中的空值,例如,如果我
A|B
0,1
2,null
3,null
4,2
我希望它是:
A|B
0,1
2,2
3,3
4,2
尝试过
df.na.fill(df.A,"B")
但没有工作,它说值应该是浮点数、int、长、字符串或判决
有什么想法吗?
df.rdd.map(lambda row: row if row[1] else Row(a=row[0],b=row[0])).toDF().show()
另一个答案。
如果以下< code>df1是您的数据帧
rd1 = sc.parallelize([(0,1), (2,None), (3,None), (4,2)])
df1 = rd1.toDF(['A', 'B'])
from pyspark.sql.functions import when
df1.select('A',
when( df1.B.isNull(), df1.A).otherwise(df1.B).alias('B')
)\
.show()
我们可以利用联合
from pyspark.sql.functions import coalesce
df.withColumn("B",coalesce(df.B,df.A))
问题内容: 我想用相邻列中的值替换一列中的空值,例如,如果我有 我希望它是: 尝试过 但是没用,它说值应该是浮点数,整数,长整数,字符串或字典 有任何想法吗? 问题答案: 最后找到一个替代方案:
我想将数据帧列中的一个值替换为另一个值,我必须对许多列执行此操作(假设30/100列) 我已经经历过这个和这个了。 我可以在y列和z列中分别用Null替换“baz”。但我想对所有列都这样做——类似于下面的列表理解方式
我在尝试用空值替换Spark数据帧特定列的值时遇到了一个问题。我有一个超过50列的数据框架,其中两列是关键列。我想用相同的模式创建一个新的数据框,新的数据框应该具有来自键列的值,而非键列中的值应该为null。我尝试了以下方法,但遇到了问题: 当我在中只有字符串类型列时,这种方法很好。但是我有一些双类型和int类型的列,这是抛出错误的,因为rdd是一个空字符串列表。 为了避免这种情况,我尝试将作为空
我正在使用pyspark下面是我的数据
我在Python中使用这个熊猫数据帧。 我需要用Farheit列中的值替换列中的所有NaN。 这就是我需要的: 如果进行布尔选择,一次只能选择其中一列。问题是,如果我尝试加入他们,我无法在保持正确顺序的同时做到这一点。 我如何才能只找到带有s的行,并用列的同一行中的值替换它们?
问题内容: 我想通过替换子字符串对Spark Dataframe列执行一些基本的处理。最快的方法是什么? 在当前的用例中,我有一个要规范化的地址列表。例如,此数据框: 会成为 问题答案: 对于Spark 1.5或更高版本,可以使用功能包: 快速说明: 调用该函数可在数据框中添加(或替换,如果名称存在)列。 该函数将通过替换所有与模式匹配的子字符串来生成新列。