我有一个列中所有值都不同的列表,我需要用1替换该列表中不存在的所有值
uniq = X_train3.select('street').distinct().collect()
X_test3 = X_test3.withColumn('street', F.when(array_contains('street', uniq), 1))
uniq = X_train3.select('street').distinct().collect()
X_test3 = X_test3.withColumn('street', F.when(~col('street').isin(uniq), 1))
这是我在python中所做的工作:
uniq = X_train3[cl].unique()
uniq = uniq.tolist()
X_test3['street'] = X_test3['street'].map(lambda x: 1 if x not in uniq else x)]
您可以这样做(在Scala中,编写等效的pyspark):
val new_X_test3 = X_test3
.join(X_train3
.select("street")
.distinct()
.withColumnRenamed("street","street_train"),
col("street") === col("street_train"),
"leftouter")
.withColumn("street_test",
when(col("street_train").isNull, lit("1"))
.otherwise(col("street")))
.drop("street","street_train")
.withColumnRenamed("street_test","street")
另外,如果您确信唯一街道的列表非常小(因为您尝试在代码中的驱动程序上收集它),您可以在x_train3
周围提供broadcast
提示。因此代码变成:
val new_X_test3 = X_test3
.join(broadcast(X_train3
.select("street")
.distinct()
.withColumnRenamed("street","street_train")),
col("street") === col("street_train"),
"leftouter")
.withColumn("street_test",
when(col("street_train").isNull, lit("1"))
.otherwise(col("street")))
.drop("street","street_train")
.withColumnRenamed("street_test","street")
我在Javascript中有一个对象,它有一些条目,如: 我想替换键像: 但我得到了错误:forecasts.map不是一个函数 我已经检查过了,但它不起作用。我如何更换这些钥匙?
我不小心从表中删除了我的记录。此记录有一个键列与数据库中的一些其他表绑定。我已经恢复了数据库,我可以访问以前删除的记录。当我尝试使用INSERT SELECT方法时,我得到的消息然后,我对所有列运行INSERT(但在表设计中标识设置为yo YES的第一列除外)。现在我在想有没有办法更新钥匙?新记录自动生成新密钥,我想将该值更新为旧密钥。以下是示例: 临时/备份表: 用临时列i_key值更新当前列i
给定数据集 如果其中一个或两个都为空,则如何将同时替换为其他值,如(5,6)? 这适用于地理数据集,当纬度/lng 未知且应在其他地方获得时。所以udf很耗时,我想确保它只为必要的行调用(其中foo和bar都是空的) 下面的代码 是不好的尝试 因此,有必要以某种方式将数组解压缩到列中。 考虑到这一点,它不能一步到位地完成 Apache Spark - 将UDF的结果分配给多个数据帧列 但是,即使我
谢谢,纳瓦兹
问题内容: 我试图将字符串分成数组并替换为,但无法做到,我也尝试了String.replaceAll这样的东西。 我想提供一个通往JNI的路径,并且它只能以这种方式读取。 问题答案: 在这种情况下不要使用- 这是用正则表达式指定的,这意味着您需要更多的转义。这应该很好: 请注意,由于Java字符串文字中的原因,反斜杠加倍-因此此处涉及的 实际 字符串是“单反斜杠”和“双反斜杠”-而不是双倍和四倍。
在索引位置1的输入中遇到的字符串的前半部分将被替换为字符“-”使用流我们如何执行操作? 我有上面的列表,我想用我这样做的循环将每个嵌套列表值的第一个位置替换为“-” 样本输出:[[0,-],[6,-],[0,-],[6,gh],[4,ij],[0,ab],[6,cd]] 但是任何人都可以解释如何使用流来实现同样的目标