Python | AKShare获取A股数据

Python | AKShare获取A股数据
运行环境:jupyter notebook (python 3.12.7) + AKShare 1.16.87

1.安装akshare

# 在Jupyter中直接安装 !pip install akshare --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple

验证安装成功:

import akshare as ak print("AKShare版本:", ak.__version__)

2.以A股贵州茅台600519为例,获取数据

try: import akshare as ak print("\n尝试使用AKShare获取A股数据示例:") a_stock = ak.stock_zh_a_hist(symbol="600519", period="daily", start_date="20250101", end_date="20250507") print(a_stock.head()) except ImportError: print("\n提示:安装AKShare可获得中国证券市场数据 -> pip install akshare") except Exception as e: print(f"AKShare获取失败:{str(e)}")

运行结果截图:

import akshare as ak import pandas as pd # 设置显示参数 pd.set_option('display.max_columns', None) pd.set_option('display.width', 1000) def get_a_stock_data(symbol, start_date, end_date): """获取A股历史行情数据(自动重试版)""" for _ in range(3): try: df = ak.stock_zh_a_hist( symbol=symbol, period="daily", start_date=start_date, end_date=end_date, adjust="hfq" # 可选参数:hfq后复权, qfq前复权, 空为不复权 ) # 转换日期格式 df['日期'] = pd.to_datetime(df['日期']) df.set_index('日期', inplace=True) # 重命名列(英文列名更方便处理) df = df.rename(columns={ '开盘': 'open', '收盘': 'close', '最高': 'high', '最低': 'low', '成交量': 'volume', '成交额': 'amount', '振幅': 'amplitude', '涨跌幅': 'pct_chg', '涨跌额': 'change', '换手率': 'turnover' }) return df.sort_index() except Exception as e: print(f"获取数据失败,正在重试... ({str(e)})") continue raise ConnectionError("数据获取失败,请检查网络或代码") # 执行数据获取 try: data = get_a_stock_data("600519", "20250101", "20250507") print("\n数据获取成功!前5行数据:") print(data.head()) print("\n基础统计信息:") print(data.describe()) except Exception as e: print("发生错误:", str(e)) print("建议解决方案:") print("1. 检查股票代码格式(需纯数字,不带市场后缀)") print("2. 尝试调整日期格式为YYYYMMDD") print("3. 访问AKShare官网查看最新接口文档:https://www.akshare.xyz/")

运行结果截图:

Read more

具身智能探索:从感知到行动的机器人实践

具身智能探索:从感知到行动的机器人实践

文章目录 * 每日一句正能量 * 引言 * 什么是具身智能? * 初探具身智能:一个简单的四足机器人案例 * 环境搭建 * 感知:用摄像头和深度传感器采集环境信息 * 推理:基于深度强化学习的决策 * 行动:控制四足机器人动态行走 * 图片展示 * 总结与展望 每日一句正能量 没有人会为了你的未来买单,你要么努力向上爬,要么烂在社会最底层的泥淖里,这就是生活。 引言 近年来,“具身智能”成为机器人领域的热门话题,它不仅仅是让机器人“看起来像人”,而是让机器人通过身体与环境的交互,真正“理解”并“学习”世界。这篇文章将带领大家一起探索具身智能的核心思想,并通过一个简单的机器人项目,从感知、推理到行动,完整展示如何构建一个具身智能系统。本文还包含代码片段和实验图片,希望能帮助你更直观地理解这一前沿技术。 什么是具身智能? 具身智能(Embodied Intelligence)的核心理念是:智能来源于身体与环境的交互,而非仅仅依赖于抽象的计算能力。这个思想最早由人工智能哲学家罗德尼·布鲁克斯提出,他认为传统的“感知-思考-行动”

By Ne0inhk
【MySQL】第十三节—索引:底层原理、B + 树演进、操作实战

【MySQL】第十三节—索引:底层原理、B + 树演进、操作实战

Hello,好久不见,我是云边有个稻草人-个人主页,与你分享C++领域专业知识! 《MySQL》——本篇文章所属专栏,持续更新中 本文深入解析MySQL索引原理与操作。首先通过实验展示数据默认有序现象,解释Page机制减少IO次数的原理。然后循序渐进分析B+树结构的优势:从单页线性遍历、引入目录到多级目录页构建,最终形成高效的B+树索引。文章对比了B+树与B树、哈希等结构的差异,阐述聚簇索引与非聚簇索引的本质区别。在操作层面,详细介绍了主键索引、唯一索引、普通索引和全文索引的创建与删除方法,并给出索引使用原则:频繁查询字段适合建索引,但更新频繁或唯一性差的字段不宜建索引。最后提及复合索引的最左匹配原则和索引覆盖优化技巧。 【MySQL】第十二节—不懂磁盘与 Page,谈何用好 MySQL 索引?——索引上篇 目录 5. 索引的理解 (1)一个现象和一个结论 (2)循序渐进,理解索引的数据结构为什么选择B+树 第一层—线性遍历效率低下 第二层—引入目录

By Ne0inhk
Android 蓝牙 BLE 扫描 Native 层架构与扫描流程剖析

Android 蓝牙 BLE 扫描 Native 层架构与扫描流程剖析

博主简介 byte轻骑兵,现就职于国内知名科技企业,专注于嵌入式系统研发,深耕 Android、Linux、RTOS、通信协议、AIoT、物联网及 C/C++ 等领域。乐于技术分享与交流,欢迎关注互动! 📌 主页与联系方式ZEEKLOG:https://blog.ZEEKLOG.net/weixin_37800531知乎:https://www.zhihu.com/people/38-72-36-20-51微信公众号:嵌入式硬核研究所邮箱:[email protected](技术咨询或合作请备注需求) ⚠️ 版权声明 本文为原创内容,未经授权禁止转载。商业合作或内容授权请联系邮箱并备注来意。 本文基于 Android 蓝牙源码中 BLE 扫描相关的 Native 层代码,以scanInitializeNative为入口,系统梳理 BLE 扫描从 JNI

By Ne0inhk