基于python tushare 股票数据处理

import tushare as ts
import pandas as pd
# 请填入你的代码,以及必要的注释
pro = ts.pro_api('your key')

# 获取所有正常上市交易的股票列表
stock_list = pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')

# 将整数类型的日期转换为日期格式
stock_list['list_date'] = pd.to_datetime(stock_list['list_date'], format='%Y%m%d')

# 过滤上市日期晚于2000年的股票
stock_list = stock_list[stock_list['list_date'] < pd.Timestamp('2000-01-01')]

# 打印输出结果
print(stock_list)
print(type(stock_list))
import numpy as np
# 从股票代码中随机选取20个股票
selected_codes = stock_list.sample(n=20, replace=False)
print(selected_codes)
# 获取选取股票的收盘价数据
start_date = '20200101'
end_date = '20221220'
price_data = []
for code in selected_codes['ts_code']:
	print(code)
	df = pro.daily(ts_code=code, start_date=start_date, end_date=end_date)
	print(df)
	price_data.append(df)
# print(price_data)
# 将每个股票的收盘价数据合并到一个DataFrame中
arr1 = [ts_code['close'] for ts_code in price_data]
arr2 = [ts_code['ts_code'] for ts_code in price_data]
arr3 = [ts_code['trade_date'] for ts_code in price_data]
df = pd.DataFrame(columns=['head', 'index','trade_date'])

for x in range(0,len(arr1)):
	# 插入一行数据
	new_row = {'head': arr1[x], 'index': arr2[x], 'trade_date': arr3[x]}
	df = df.append(new_row, ignore_index=True)
	pass
# 删除包含空值的行
df.dropna(inplace=True)
print(df)
# 请填入你的代码,以及必要的注释
# df['trade_date'] = pd.to_datetime(df['trade_date'], format='%Y%m%d')

print(df[0])


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

终将老去的穷苦程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值