pandas 数据帧过滤器对所有行 return 为真。如何?
pandas dataframe filter to return True for ALL rows. how?
您好,我有一个过滤器 'm' 集,它足够灵活,可以由我更改。有时,我想按 Car 或 x_acft_body 或任何其他字段等进行过滤。有时我想 所有行 returned通过评论和取消评论所需的行。但是在不更改后续代码的情况下,在过滤器 'm' 行之后。
当我不想应用过滤器时,我如何才能拥有一个对所有行都 return 正确的过滤器?例如类似 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'})
您可以创建 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))
您好,我有一个过滤器 'm' 集,它足够灵活,可以由我更改。有时,我想按 Car 或 x_acft_body 或任何其他字段等进行过滤。有时我想 所有行 returned通过评论和取消评论所需的行。但是在不更改后续代码的情况下,在过滤器 'm' 行之后。
当我不想应用过滤器时,我如何才能拥有一个对所有行都 return 正确的过滤器?例如类似 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'})
您可以创建 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))