[英]Filtering dataframes in pandas, how to chain multiple filters?
I have a function which filters my data, like so:我有一个过滤我的数据的函数,如下所示:
def get_gappers(data):
data = pd.read_csv(data)
open = data['open']
df = data[(data['change'] >= 10)]
df = df[(open <= 15)]
df = df[(open >= 1)]
display(df)
Which gives me the following:这给了我以下信息:
date volume open close high low previous close change
214 2022-03-08 88067102.0 13.035 13.51 14.27 12.4401 12.84 11.137072
219 2022-03-15 76398350.0 14.910 15.57 15.80 14.9000 14.25 10.877193
My question is how do I do the filtering using a single line?我的问题是如何使用单行进行过滤? Eg something like:例如:
df = data[(data['change'] >= 10) & open <= 15 open >= 1)]
df = data[(data['change'] >= 10) & (open <= 15) & (open >= 1)]
或使用pandas.DataFrame.query
:
df = data.query("1 <= open <= 15 and change >= 10")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.