该系列为南京大学课程《用Python玩转数据》学习笔记,主要以思维导图的记录
利用免费财经数据接口 TuShare获取和分析数据
安装
1
pip install tushare
初始化程序
1
2
3
4
5import pandas as pd
import numpy as np
import tushare as ts
df = ts.get_hist_data('600036',start='2018-07-01',end='2018-12-31')利用 Tushare 包中的接口函数获取招商银行(股票代码 600036)2018 年下半年的股票数据并完成如下数据处理和分析任务:
1、数据只保留 date、open、high、close、low 和 volume 这几个属性,并按时间先后顺序对数据进行排序;
1
2df = df[['open', 'high', 'close', 'low', 'volume']]
df.sort_index(inplace=True)2、输出这半年内成交量最低和最高那两天的日期和分别的成交量;
1
2
3
4
5
6min_day = df.sort_values('volume').iloc[0]
min_volume = min_day.volume
min_volume_day = min_day.name
max_day = df.sort_values('volume', ascending=False).iloc[0]
max_volume = max_day.volume
max_volume_day = max_day.name3、列出成交量在 1000000 以上的记录;
1
df[df.volume>1000000]
4、计算这半年中收盘价(close)高于开盘价(open)的天数;
1
len(df[df.close>df.open])
5、计算前后两天开盘价的涨跌情况,用两种方式表示,第一种输出每两天之间的差值(后一天减去前一天),第二种输出一个开盘价涨跌列表,涨用 1 表示,跌用-1 表示;
1
2
3
4# 第一种输出每两天之间的差值(后一天减去前一天),
df.open.diff()
# 第二种输出一个开盘价涨跌列表,涨用 1 表示,跌用-1 表示;
np.sign(np.diff(df.open))6、计算每月收盘价的平均值。
1
2df.index = pd.DatetimeIndex(df.index)
df.open.resample('M').mean()