Skip to main content
 首页 » 编程设计

python之为 Pandas 初始化全真 bool 索引

2025年05月04日20lonelyxmas

我发现自己有时会迭代地构建一个 bool 值/掩码,比如:

mask = initialize_mask_to_true() 
for condition in conditions: 
  mask = mask & condition 
 
df_masked = pd.loc[mask, my_cols] 

条件可能是单独的 bool 掩码列表或比较,如 df[some_col] > someVal 有没有好的方法来做 initialize_mask_to_true()?有时我会做一些感觉很丑的事情,比如:

mask = ~(df.loc[:, df.columns[0]] == np.nan) 

这是可行的,因为 something == np.nan 将始终为 false,但感觉有更简洁的方法。

请您参考如下方法:

如果必须保留索引:

mask= pd.DataFrame(True,index=df.index,columns=df.columns) 

或

mask= pd.DataFrame(True,index=df.index,columns=[df.columns[0]])