【发布时间】:2016-04-16 21:32:56
【问题描述】:
从这个帖子继续:get subsection of df based on multiple conditions
我想根据存储在 Series 对象中的多个条件提取给定的行。
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
我的条件:
d={'is_net': 'True', 'is_sum': 'True'}
s=pd.Series(d)
预期输出:
is_net is_pct is_mean is_wgted is_sum
c True True False False True
我的失败尝试:
(df == s).all(axis=1)
a False
b False
c False
d False
dtype: bool
当满足这两个条件时,不确定为什么 'c' 为 False。
注意,我可以达到这样的预期结果,但我宁愿使用 Series 方法。
df[(df['is_net']=='True') & (df['is_sum']=='True')]
【问题讨论】:
标签: pandas boolean selection series multiple-conditions