gpt4 book ai didi

python - 如果spark数据框的特定列中的所有条目为null,则删除

转载 作者:行者123 更新时间:2023-12-03 13:46:11 25 4
gpt4 key购买 nike

使用Pyspark,如何选择/保留DataFrame中包含非空值的所有;或等效地删除所有不包含数据的列。

编辑:根据Suresh要求,

for column in media.columns:
if media.select(media[column]).distinct().count() == 1:
media = media.drop(media[column])

在这里,我假设如果count为1,则应该为Nan。但是我想检查一下是否是楠。如果还有其他内置的spark函数,请告诉我。

最佳答案

我尽力了说,我有一个如下数据框,

from pyspark.sql import functions as F

>>> df.show()
+----+----+----+
|col1|col2|col3|
+----+----+----+
| 1| 2|null|
|null| 3|null|
| 5|null|null|
+----+----+----+

>>> df1 = df.agg(*[F.count(c).alias(c) for c in df.columns])
>>> df1.show()
+----+----+----+
|col1|col2|col3|
+----+----+----+
| 2| 2| 0|
+----+----+----+

>>> nonNull_cols = [c for c in df1.columns if df1[[c]].first()[c] > 0]
>>> df = df.select(*nonNull_cols)
>>> df.show()
+----+----+
|col1|col2|
+----+----+
| 1| 2|
|null| 3|
| 5|null|
+----+----+

关于python - 如果spark数据框的特定列中的所有条目为null,则删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45629781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com