嗨我有一个过滤器'm'设置,足够灵活,可以由我改变。有时,我想通过Car或x_acft_body或任何其他各种字段等进行过滤。有时我想通过注释和取消注释所需的行来返回所有行。但是在过滤器“m”行之后没有改变后续代码。
当我不想应用过滤器时,如何让所有行都返回true的过滤器?对于例如像1==1
这样的东西,但我知道这不起作用。
我不想设置dfdata.somefield.notnull()
等,因为我不太确定这个字段是否总是不为空。我也不想将后续代码更改为dfdata.groupby.
,即没有[m]
# set filter if needed
m = ( 1==1 #& return true at all times
# (dfdata.Car == 'PG') #&
# (dfdata.x_acft_body == 'N')# &
# (dfdata.Car.isin(['PG', 'VJ', 'VZ']))
)
dft1 = dfdata[m].groupby(['FLD1']).agg({'FLD2': 'count'})
答案 0 :(得分:3)
您可以创建bool常量并通过它更改最终掩码:
#True for return all rows
m = (dfdata.Car == 'PG') | True
和
#False for apply filter
m = (dfdata.Car == 'PG') | False
第一个解决方案:
m = [True] * len(df.index)
m = np.repeat(True, len(df.index))