下面的pyspark命令
df = dataFrame.groupBy("URL_short").count().select("URL_short", col("count").alias("NumOfReqs"))
创建了以下结果
|URL_short |NumOfReqs|
+-----------------------------------------------------------------------------------------+---------+
|http1 | 500 |
|http4 | 500 |
|http2 | 500 |
|http3 | 500 |
在原始数据帧dataFrame
中,我有一个名为success
的列,其类型为text。该值可以是"true"
或"false"
在结果中,我希望有一个名为NumOfSuccess
的附加列,它统计每个类别URL_short
在原始列success
中具有条目"true"
的元素
如何修改
df = dataFrame.groupBy("URL_short").count().select("URL_short", col("count").alias("NumOfReqs"))
还要输出满足条件success
==“trueper
URL_short`category”的列吗
一种方法是添加另一个聚合表达式(也将
count
转换为agg表达式):注意,这假设您的
success
列是布尔类型,如果它是字符串,请将表达式更改为f.sum(f.when(f.col('success') == 'true', 1).otherwise(0)).alias('CountOfSuccess')
相关问题 更多 >
编程相关推荐