【发布时间】:2016-04-16 01:25:10
【问题描述】:
我正在尝试根据多个条件从 df 中提取行,在选择任何行之前必须满足所有条件,否则什么也没有。
我的朋友
columns = ['is_net', 'is_pct', 'is_mean', 'is_wgted', 'is_sum']
index = ['a','b','c','d']
data = [['True','True','False','False', 'False'],
['True','True','True','False', 'False'],
['True','True','False','False', 'True'],
['True','True','False','True', 'False']]
df = pd.DataFrame(columns=columns, index=index, data=data)
df
is_net is_pct is_mean is_wgted is_sum
a True True False False False
b True True True False False
c True True False False True
d True True False True False
我的条件必须是这种格式:
conditions = {'is_net': 'True',
'is_pct': 'True',
'is_mean': 'False',
'is_wgted': 'True',
'is_sum': 'False'}
预期输出:
is_net is_pct is_mean is_wgted is_sum
d True True False True False
【问题讨论】:
-
你是在问如何组合条件(例如
df[df.is_net & df.is_pct & ...]?或者你是在问如何找到所有任意数量的布尔列都为真的行? -
所有布尔列的任意数量都与“条件”变量匹配
-
旁白:由于布尔值是原生支持的类型,使用 string True 和 False 会导致混淆,因为
True != 'True'。 -
是的,我同意,我必须编辑这个。
标签: python pandas dataframe multiple-conditions