Python 处理大熊猫中的南部

Python 处理大熊猫中的南部,python,pandas,numpy,Python,Pandas,Numpy,我有一个数据帧,我想返回这个数据帧的子集(新副本不是引用)来执行一些操作。但是,我发现它无法根据我需要的标准进行筛选 我需要以下三个标准来管理文件管理器: 1. df['A'] != NaN 2. df['B'] == 'X' | df['B'] == NaN 3. df['C'] == NaN 目前我正在为标准1做这项工作,但我有点被如何包括标准2和3所困扰 filter_data = df.loc[(df['A'].dropna)] 需要为NaN提供特殊功能-和: 您可以使用q

我有一个数据帧,我想返回这个数据帧的子集(新副本不是引用)来执行一些操作。但是,我发现它无法根据我需要的标准进行筛选

我需要以下三个标准来管理文件管理器:

1. df['A'] != NaN
2. df['B'] == 'X' | df['B'] == NaN
3. df['C'] == NaN
目前我正在为标准1做这项工作,但我有点被如何包括标准2和3所困扰

    filter_data = df.loc[(df['A'].dropna)] 

需要为NaN提供特殊功能-和:


您可以使用
query
查找空值或不查找空值。空值有不等于自身的趋势

df.dropna(subset=['A'])
df.query('A==A')
df[df.A.notnull()]


使用
query

  • df.query('A==A')
    df.dropna(子集=['A'])
    df[df.A.notnull()]
  • df.query('B==“X”| B!=B')
    df.query('B==“X”或B!=B')
  • df.query('C!=C')
    df[df.C.isnull()]

  • 不能在
    df.eval()
    中使用
    'NaN'
    ?我认为不,最好是使用高度优化的功能。相关:
    df['A'].notnull()
    (df['B'] == 'X') | (df['B'].isnull())
    df['C'].isnull()