【发布时间】:2014-08-11 07:02:03
【问题描述】:
我希望在 python 中对 pandas 数据集的每一列(分别针对其属性)应用 multiply mask。 在下一步中,我想在适合所有条件的数据框中找到(a)行。 因此我有:
df
Out[27]:
DE FL GA IA ID
0 0 1 0 0 0
1 1 0 1 0 1
2 0 0 1 0 0
3 0 1 0 0 0
4 0 0 0 0 0
mask_list = []
for i in range(0,5):
if i % 2==0:
mask_list.append(df[[i]]>0)
else:
mask_list.append(df[[i]]<1)
concat_frame = pa.DataFrame()
for mask in mask_list:
concat_frame =pa.concat((concat_frame, mask), axis=1)
concat_frame
Out[48]:
DE FL GA IA ID
0 False False False True False
1 True True True True True
2 False True True True False
3 False False False True False
4 False True False True False
[5 rows x 5 columns]
更新
预期结果:
outcome
Out[60]:
DE FL GA IA ID
1 1 0 1 0 1
问题来了:
我如何在 df 上应用 concat_mask,以便我 选择行,其中所有 布尔标准都匹配 (是真的)?
【问题讨论】:
-
什么是预期的输出,你的行都不是真值,只有 'IA' 作为一列有所有真值
-
@EdChum 感谢您的评论。我添加了预期的结果
标签: python pandas multiple-columns dataframe mask