早上好,
我有以下变量。
self.filters = 'px_variation > 0.15'
df
如果我做 df.collect() 我得到了。
Row(px_variation=nan, subject_code='1010', list_tr_id=['X0', 'X1'], list_quantity=[3000.0, 1.0], list_cash_qty=[16500.0, 5.5])
我尝试应用以下功能
df.filter(self.filters)
它的结果是。
Row(px_variation=nan, subject_code='1010', list_tr_id=['X0', 'X1'], list_quantity=[3000.0, 1.0], list_cash_qty=[16500.0, 5.5])
如您所见,我的 DF 上的 px_variation 是一个 numpy.nan 但在应用过滤器功能后它不会过滤它。为什么 spark sql 不忽略 nan 或使用它来过滤?
如果我执行相同的操作,但在 python 中,结果符合预期。
df.collect()[0].px_variation > 0.15 -> Result: False
任何的想法?谢谢。