Tushare

简介: 【6月更文挑战第9天】

你遇到的错误表明 yfinance 无法正确获取中国的股票数据,这是因为一些中国股票数据在 Yahoo Finance 上可能不可用或已被移除。为了处理这个问题,你可以使用其他的数据源,如 Tushare,这是一个免费的中国股票数据 API。

使用 Tushare 获取中国股票数据

  1. 安装 Tushare

    首先,你需要安装 Tushare。你可以通过以下命令安装:

    pip install tushare
    
  2. 获取数据

    使用 Tushare 获取股票数据,并进行处理。以下是获取并处理数据的代码示例:

    import tushare as ts
    import pandas as pd
    
    # 设置 Tushare 的 token
    ts.set_token('your_tushare_token')
    pro = ts.pro_api()
    
    # 获取股票代码为 601088 的股票数据
    stock_code = '601088.SH'
    
    # 定义要获取的年份
    years = ['2019', '2020', '2021', '2022', '2023']
    
    # 初始化空的 DataFrame
    all_data = pd.DataFrame()
    
    # 获取每年3月的股票数据
    for year in years:
        start_date = f'{year}0301'
        end_date = f'{year}0331'
        data = pro.daily(ts_code=stock_code, start_date=start_date, end_date=end_date)
        all_data = pd.concat([all_data, data])
    
    # 转换日期列为日期格式
    all_data['trade_date'] = pd.to_datetime(all_data['trade_date'])
    
    # 按年份分组并计算3月的均值、最小值和最大值
    all_data['Year'] = all_data['trade_date'].dt.year
    march_summary = all_data.groupby('Year')['close'].agg(['mean', 'min', 'max']).reset_index()
    march_summary.columns = ['Year', 'Mean_Close', 'Min_Close', 'Max_Close']
    
    print(march_summary)
    

获取 Tushare Token

你需要在 Tushare 官网注册一个账户,并获取一个 API Token。以下是获取 Token 的步骤:

  1. 前往 Tushare官网,注册一个新账户。
  2. 登录账户后,在用户中心可以找到你的 API Token。

完整示例代码

确保你已经设置了正确的 Tushare Token,并使用以下完整代码示例:

import tushare as ts
import pandas as pd

# 设置 Tushare 的 token
ts.set_token('your_tushare_token')
pro = ts.pro_api()

# 获取股票代码为 601088 的股票数据
stock_code = '601088.SH'

# 定义要获取的年份
years = ['2019', '2020', '2021', '2022', '2023']

# 初始化空的 DataFrame
all_data = pd.DataFrame()

# 获取每年3月的股票数据
for year in years:
    start_date = f'{year}0301'
    end_date = f'{year}0331'
    data = pro.daily(ts_code=stock_code, start_date=start_date, end_date=end_date)
    all_data = pd.concat([all_data, data])

# 转换日期列为日期格式
all_data['trade_date'] = pd.to_datetime(all_data['trade_date'])

# 按年份分组并计算3月的均值、最小值和最大值
all_data['Year'] = all_data['trade_date'].dt.year
march_summary = all_data.groupby('Year')['close'].agg(['mean', 'min', 'max']).reset_index()
march_summary.columns = ['Year', 'Mean_Close', 'Min_Close', 'Max_Close']

print(march_summary)

image.png

目录
相关文章
|
7月前
|
数据挖掘 大数据 索引
精通 Pandas:1~5
精通 Pandas:1~5
77 0
|
2月前
|
数据采集 机器学习/深度学习 数据挖掘
Pandas
【10月更文挑战第14天】
31 1
|
26天前
|
Python
Pandas 安装
10月更文挑战第26天
111 59
Pandas 安装
|
14天前
|
机器学习/深度学习 数据挖掘 数据处理
Pandas库
Pandas库是Python中进行数据分析和处理的强大工具,通过其丰富的功能和简洁的API,可以高效地完成各种数据处理任务,为后续的数据分析和机器学习提供了有力的支持。
|
3月前
|
Python
|
4月前
|
数据采集 SQL 数据挖掘
我发现了pandas的黄金搭档!
我发现了pandas的黄金搭档!
|
5月前
|
数据挖掘 Linux 数据处理
什么是Pandas库?
【7月更文挑战第8天】什么是Pandas库?
58 2
|
存储 大数据 Python
Pandas 2.1发布了
2023年3月1日,Pandas 发布了2.0版本。6个月后(8月30日),更新了新的2.1版。让我们看看他有什么重要的更新。
158 1
|
Rust 分布式计算 安全
Pandas 2.0正式版发布: Pandas 1.5,Polars,Pandas 2.0 速度对比测试
Pandas 2.0正式版在4月3日已经发布了,以后我们pip install默认安装的就是2.0版了,Polars 是最近比较火的一个DataFrame 库,最近在kaggle上经常使用,所以这里我们将对比下 Pandas 1.5,Polars,Pandas 2.0 。看看在速度上 Pandas 2.0有没有优势。
279 0
Pandas 2.0正式版发布: Pandas 1.5,Polars,Pandas 2.0 速度对比测试
|
SQL 数据采集 存储
什么是pandas
什么是pandas
157 0