You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选Yahoo Finance获取的ADA-USD 0.1-1美元区间的Close价格数据

解决方案

不需要使用for循环实现筛选,直接用pandas内置的布尔索引功能就可以高效完成需求,操作方式如下:


完整实现代码

可直接在你原有代码基础上添加筛选逻辑即可:

import yfinance as yf
import pandas as pd
import datetime
import pandas_datareader.data as web

start = datetime.date(2020, 9, 17)
end = datetime.date(2021, 9, 16)

dFrame = web.DataReader('ADA-USD', 'yahoo', start, end)
pd.options.display.width = 0
pd.set_option("display.max_rows", 2000)

# 新增筛选逻辑:提取收盘价在0.1-1美元之间的记录
# 写法1:逻辑运算符判断,灵活性更高,可自由调整边界包含规则
filtered_df = dFrame[(dFrame['Close'] >= 0.1) & (dFrame['Close'] <= 1)]
# 写法2:between方法,更简洁,默认包含左右两端边界值
# filtered_df = dFrame[dFrame['Close'].between(0.1, 1)]

# 输出筛选后的结果
print(filtered_df)

注意事项

  • 多个逻辑条件组合时,每个条件必须用小括号包裹,否则会因为运算符优先级问题报错
  • 不推荐用for循环遍历DataFrame行做判断,不仅写法繁琐,运行效率远低于pandas的向量化操作,还容易出现索引、赋值类错误
  • 如果需要排除边界值,把>=改成>、<=改成<即可;用between方法的话可以加参数inclusive='neither'实现不包含两端
  • 如果需要将筛选后的数据保存到本地,可添加代码:filtered_df.to_csv('ADA_USD_filtered.csv', encoding='utf-8-sig')

内容的提问来源于stack exchange,提问作者J.R. BEATS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 01:06:03