微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Python在同一spark数据框中的两行之间减去数据

如何解决使用Python在同一spark数据框中的两行之间减去数据

我有两行的spark数据框。该数据框包含数字和字符串类型的值。我需要从row1减去row2的数值,同时保持字符串值和列名相同。这需要显示在同一数据框中的新行中。我在代码中使用Spark Python。请帮助我

解决方法

scala

val df = Seq((5,"10"),(4,"fail_string")).toDF("a","b")
val result = df.withColumn("result",$"b" - $"a")
result.show()

pyspark:

df = spark.createDataFrame([(5,(1,"fail")],"a int,b string")
result = df.withColumn("result",col("b") - col("a"))
result.show()

结果将是:

+---+-----------+------+
|  a|          b|result|
+---+-----------+------+
|  5|         10|   5.0|
|  4|fail_string|  null|
+---+-----------+------+

如您所见,这是一个非常简单的spark用例,使用起来也很安全,不用担心如果字段损坏了就不会出现异常。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。