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

用总计总计列数

如何解决用总计总计列数

我想添加一个具有以前分组行总数的行。 我有代码

df_join = ( 
       df.join(df1,df.serialnumber == df1.entityid)
          .distinct()
         .groupBy("SW_version").count().show(truncate=False)

我需要添加总计行,将计数列中的所有值相加。

目前,代码的结果是:

 +-----------+-----+
 |SW_version |count|
 +-----------+-----+
 |SG4J000078C|63   |
 |SG4J000092C|670  |
 |SG4J000094C|43227|
 +-----------+-----+

解决方法

在这种情况下,您可以使用PicklingError Traceback (most recent call last) <ipython-input-123-1bf65fd467e6> in <module>() ----> 1 pickle.dump(vect,open(n_gram_pickle_file,'wb')) PicklingError: Can't pickle <function <lambda> at 0x7f6d3f7ae6a8>: attribute lookup <lambda> on __main__ failed 代替rollup。汇总将产生另外一个具有groupBy组的行,并为所有行聚合。

对于null这样:

df

+-------+ |version| +-------+ | A| | A| | B| | B| | B| | C| +-------+ 将返回:

df.rollup("version").count().sort("version",ascending=False).show()

您可以在这篇What is the difference between cube,rollup and groupBy operators?

中阅读有关汇总的更多信息。

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