我发现自己有时会迭代地构建一个布尔值/掩码,比如:
mask = initialize_mask_to_true()
for condition in conditions:
mask = mask & condition
df_masked = pd.loc[mask, my_cols]条件可能是一列单独的布尔掩码或比较,比如df[some_col] > someVal,有没有执行initialize_mask_to_true()的好方法?有时我会做一些让人觉得丑陋的事情,比如:
mask = ~(df.loc[:, df.columns[0]] == np.nan)这之所以有效,是因为something == np.nan永远是假的,但它感觉有一种更干净的方法。
发布于 2019-10-16 23:04:08
如果必须保留索引:
mask= pd.DataFrame(True,index=df.index,columns=df.columns)或
mask= pd.DataFrame(True,index=df.index,columns=[df.columns[0]])发布于 2019-10-16 22:26:39
我使用numpy.ones实现这一点:
np.ones(df.shape[0], dtype=np.bool)https://stackoverflow.com/questions/58415637
复制相似问题