我試圖篩選具有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