python笔记:金融数据、dataframe一些操作

本文通过Python库tushare获取股票代码300038的历史数据,并进行了一系列的数据处理和分析操作,包括设置日期为索引、计算涨幅超过4%的情况及日期、展示最后一天的收盘价、按月及年汇总数据等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导入数据:

import tushare as ts
df=ts.get_k_data('300038', start='2018-01-01')

print(df.head(5))

数据:

               date   open  close   high    low    volume    code
0  2018-05-14  15.57  15.57  16.88  15.57  713429.0  300038
1  2018-05-15  15.31  14.82  15.32  14.23  626289.0  300038
2  2018-05-16  14.38  15.12  15.44  14.30  640795.0  300038
3  2018-05-17  14.97  14.11  14.97  13.71  596847.0  300038
4  2018-05-18  14.20  13.66  14.34  13.51  378173.0  300038

*** 设置索引为日期序列

df = df.set_index(pd.to_datetime(df['date']))

df.drop('date', axis=1, inplace=True)

 

*** 查询上涨超过4%

print(df[(df['close'] - df['open'])/df['close'] > 0.04])

 

**** 查询上涨超过4%的日期

print(df[(df['close'] - df['open'])/df['close'] > 0.04].index)

 

*** 最后一天收盘价

print(df['close'].values[-1])

 

*** 股价分月加和,显示最后一天

print(df.resample('M').sum()) 

*** 每月第一天股价

print(df.resample('MS').first()) 

*** 每年第一天股价

print(df.resample('YS').first()) 

print(df.resample('AS').first()) 

*** 每年最后一天股价

print(df.resample('Y').first()) 

print(df.resample('A').first()) 

print(df.resample('Y').first()[:-1])  #最近一年还没到最后一天,去掉

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值