我需要能够提供以下形式的条件列表:
(df['SalePrice'] >= 50000), (df['SalePrice'] <= 1e10)
我将从一小串带有byRange
的lambda的元组中进行编译
打入一个电话,我认为应该大致像这样:
df[list(map(byRange, cutoffs))]
这样,结果就可以作为df上的组合选择器,如下所示:
df[(df['SalePrice'] >= 50000) & (df['SalePrice'] <= 1e10)]
我的问题是,如何将这些列表元素与(按位'&')运算符连接?
答案 0 :(得分:1)
df[df['SalePrice'].isin(conditions)]
在您的特定情况下为:
df[df['SalePrice'].isin([50000,1e10])]
您可以阅读有关isin here
的更多信息正如ALollz所指出的,在这种情况下,我的答案是完全错误的。 OP并没有要求完全匹配(.isin()
就是这样)。因此,正如OP在他对这个答案.query()
的评论中所提到的,实际上是人们可以采取的方式。
df.query('SalePrice >= 50000 & SalePrice <= 1e10')