繁体   English   中英

如何从pyspark的数据框中获取满足条件的列?

[英]How could I get columns that meet a condition from a dataframe in pyspark?

我有一个具有不同列(或属性)的数据框,并且我想获得另一个仅包含具有6个以上不同值的列的数据框。

我怎么能得到?

以下代码段即可满足您的要求。 样本数据集具有三列(col1,col2,col3)。 col3仅具有一个唯一值3,而col1和col2具有6个不同值。 最终数据帧只有co11和col2。

df = spark.createDataFrame([(1,2,3),(10,20,3),(20,40,3),(40,50,3),(50,60,3),(60,70,3)],['col1','col2','col3'])
columns = [ column for column in df.columns if len(df.select(column).distinct().collect()) >= 6 ]
>>> df.select(columns).show()
+----+----+
|col1|col2|
+----+----+
|   1|   2|
|  10|  20|
|  20|  40|
|  40|  50|
|  50|  60|
|  60|  70|
+----+----+

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM