Панды.фрейм данных.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