python - Pandas.dataframe.query() - 获取非空行(Pandas 相当于 SQL : "IS NOT NULL")

标签 python pandas dataframe

我正在使用以下代码从 pandas 数据框中获取具有某些值的行。我需要将此代码转换为 pandas.query()

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

当我转换为:

results = rs_gp.query('Col1!=None')

它给了我错误

None is not defined

最佳答案

我们可以利用 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

关于python - Pandas.dataframe.query() - 获取非空行(Pandas 相当于 SQL : "IS NOT NULL"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37863660/

相关文章:

python - 在 Python 中删除多行

python - 循环遍历数据帧以基于Python中的2个索引返回行

R在数据框中获取最小值选择2列上的行

python - 如何在条件下从数据框中删除选定的行

python - 使用预训练模型在 tensorflow 中训练新模型

python - 递归地查找单向链表的第 k 到最后一个元素-Python

python - 拆分非常大的 Pandas 数据框,替代 Numpy array_split

python - 如何在 Subplot 中绘制多个 Seaborn Jointplot

python - 查找多行的索引

python - 检查文件中一行中的变量是否完全相同-Tkinter