[英]How to filter all dataframe columns to an condition in 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.