Tôi đang cố gắng để lọc một dataframe PySpark có None
như một giá trị hàng:Lọc cột Pyspark dataframe với Không giá trị
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')]
và tôi có thể lọc một cách chính xác với một giá trị chuỗi:
df[df.dt_mvmt == '2016-03-31']
# some results here
nhưng điều này không thành công:
df[df.dt_mvmt == None].count()
0
df[df.dt_mvmt != None].count()
0
Nhưng có giá trị chắc chắn trên mỗi danh mục. Chuyện gì vậy?
Theo [PEP 8] (https : //www.python.org/dev/peps/pep-0008/#programming-recommendations) bạn nên sử dụng 'is' và' is not' để so sánh với các singletons như None. – Natecat
Có, nhưng không có 'is' hoặc' không phải là 'để lọc các khung dữ liệu PySpark: ' Trong [222]: df [df.dt_mvmt là Không có] .show() LoạiError: đối tượng 'Cột' không thể gọi được – Ivan