计算与pyspark数据帧中特定值匹配的键值

基赫费尔

我有一个 pyspark 数据框,其中有一列值为字符串 json。如何计算与字典内列表中某个值匹配的值并作为列报告?

例如,下面是数据框:

+---------------------------------------------------------------------------+
|col                                                                        |
+---------------------------------------------------------------------------+
|{"field":{"list":[{"item":1,"upgrade":false},{"item":2,"upgrade":true}]}}
+----------------------------------------------------------------------------+
|{"field":{"list":[{"item":1,"upgrade":false},{"item":2,"upgrade":false}]}}
+--------------------------------------------------------------------------+

我想计算列表中有多少“升级”键是假的。

所以理想的数据框看起来像这样:

+---------------------------------------------------------------------------+----------------+
|col                                                                        | upgrade_false
+---------------------------------------------------------------------------+-----------------+
|{"field":{"list":[{"item":1,"upgrade":false},{"item":2,"upgrade":true}]}}   | 1
+----------------------------------------------------------------------------+----------------+
|{"field":{"list":[{"item":1,"upgrade":false},{"item":2,"upgrade":false}]}}  | 2
+----------------------------------------------------------------------------+-----------------+

提前致谢。

麦克

最简单的方法大概就是数一下"upgrade":false已经出现的次数那么我们根本不需要解析json:

import pyspark.sql.functions as F

df2 = df.withColumn('upgrade_false', F.size(F.split('col', '"upgrade":false')) - 1)
df2.show()
+--------------------+-------------+
|                 col|upgrade_false|
+--------------------+-------------+
|{"field":{"list":...|            1|
|{"field":{"list":...|            2|
+--------------------+-------------+

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何计算pyspark数据帧中每个不同值的计数?

从PySpark中的两个数据帧计算值

如何从pyspark中的spark数据帧中提取特定值?

计算数据帧列中包含特定参数的值

匹配pyspark数据帧在熊猫中的索引

计算pyspark数据帧中的速率

R:匹配数据帧中的值

函数计算超出R中的特定值的数据帧中有多少个观测值

如何计算数据帧每一行中特定值的平均值?

计算 Dask 数据帧中特定值的所有出现次数

pyspark数据帧中按行计算空数

如何为第一个数据帧中匹配的特定列值的所有值获取第二个数据帧的数据?

从数据框中的键值对列表中获取特定值

从数据框中的键值对列表中获取特定值

在 pyspark 连接中替换参考数据帧中的缺失值

如何在使用pyspark从其自己的数据帧中选择的火花数据帧中执行计算

根据列中特定值的计数条件过滤出spark数据帧的行[pyspark中的spark.sql语法]

遍历数据帧中的列以替换数据帧列表中匹配数据的值

计算 Spark (Scala) 中数据帧列中的空值

计算R中数据帧中的最高值

如何在PySpark中获取数据帧的最频繁值

计算数据帧 groupby 中的特定字段

计算数据帧特定列中的数字总和

如何计算特定列中的项目/值在 Pandas 数据帧的另一列/其他列中重复的次数?

Pyspark - 如何根据数据帧 2 中的列值在数据帧 1 中插入记录

匹配数据帧中的值和连接结果

减去与其他数据帧中的索引匹配的值

迭代 Pandas 数据帧列中的列表元素并与不同数据帧中的值匹配

分组后计算数据帧中某些值的数量