Hi I have a filter 'm' set that is flexible enough to change by me. Sometimes, I want to filter by Car or x_acft_body , or any of the various other fields, etc. Sometime I want to have all of the rows returned by commenting and uncommenting the required lines. But without changing the subsequent code, after the filter 'm' line.
How can I have a filter that will return true for ALL rows, when I don't want the filters applied? For e.g. something like 1==1
but i know this doesn't work.
I don't want to set dfdata.somefield.notnull()
etc. as I will not be too sure if this field will be always not null or not. also I DO NOT want to change subsequent code to be like dfdata.groupby.
i.e. without the [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'})
You can create bool constant and change final mask by it:
#True for return all rows
m = (dfdata.Car == 'PG') | True
And:
#False for apply filter
m = (dfdata.Car == 'PG') | False
First solutions:
m = [True] * len(df.index)
m = np.repeat(True, len(df.index))