我试图筛选具有None
作为行值PySpark数据帧:过滤Pyspark数据框列
df.select('dt_mvmt').distinct().collect()
[Row(dt_mvmt=u'2016-03-27'),
Row(dt_mvmt=u'2016-03-28'),
Row(dt_mvmt=u'2016-03-29'),
Row(dt_mvmt=None),
Row(dt_mvmt=u'2016-03-30'),
Row(dt_mvmt=u'2016-03-31')]
,我可以用一个字符串值正确筛选:
df[df.dt_mvmt == '2016-03-31']
# some results here
但这失败:
df[df.dt_mvmt == None].count()
0
df[df.dt_mvmt != None].count()
0
但是每个类别都有明确的值。这是怎么回事?
据条目的条目[PEP 8](HTTPS ://www.python.org/dev/peps/pep-0008/#programming-recommendations)你应该使用is和'not'来比较None之类的单例。 – Natecat
是的,但是没有用于筛选PySpark数据框的'is'或'is not': 'In [222]:df [df.dt_mvmt is None] .show() TypeError:'Column'object is callable' – Ivan