我有一个数据框,我想返回这个数据框的一个子集(新副本而不是引用),以执行一些操作。然而,我发现无法根据我需要的条件进行过滤。
我需要按照以下三个条件进行筛选:
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)]
我有一个数据框,我想返回这个数据框的一个子集(新副本而不是引用),以执行一些操作。然而,我发现无法根据我需要的条件进行过滤。
我需要按照以下三个条件进行筛选:
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)]
query
查找null或非null值。Nulls往往不等于自身。
df.dropna(subset=['A'])
<=> df.query('A == A')
<=> df[df.A.notnull()]
query
的三个筛选器:
df.query('A == A')
或 df.dropna(subset=['A'])
或 df[df.A.notnull()]
df.query('B == "X" | B != B')
或 df.query('B == "X" or B != B')
df.query('C != C')
或 df[df.C.isnull()]