Панды.фрейм данных.query () - fetch not null rows (панды, эквивалентные SQL: "is NOT NULL")

я извлекаю строки с некоторыми значениями из фрейма данных pandas со следующим кодом. Мне нужно преобразовать этот код в pandas.запрашивать.)(

results= rs_gp[rs_gp['Col1'].notnull()]

когда я конвертирую в:results= rs_gp.query('Col1!=None')

это дает мне ошибку "None не определен". Может кто-нибудь помочь.

спасибо, Rtut

1 ответов


мы можем использовать тот факт, что NaN != NaN:

In [1]: np.nan == np.nan
Out[1]: False

поэтому сравнение столбца с самим собой вернет нам только значения, отличные от NaN:

rs_gp.query('Col1 == Col1')

демо:

In [42]: df = pd.DataFrame({'Col1':['aaa', np.nan, 'bbb', None, '', 'ccc']})

In [43]: df
Out[43]:
   Col1
0   aaa
1   NaN
2   bbb
3  None
4
5   ccc

In [44]: df.query('Col1 == Col1')
Out[44]:
  Col1
0  aaa
2  bbb
4
5  ccc