数据集下载

金融数据来自于 tushare 财经数据接口包

通过 tushare.get_k_data() 的方式获取股票历史数据,并对其数据做相关处理

1. 数据的保存和读取操作

  • df.to_xxx() 操作,可以实现把获取的网络数据保存到本地的功能。通过设置path等可以设置保存的位置和文件格式。
df.to_csv('./maotai.csv')
  • pd.read_csv()操作可以实现从本地路径读取文件的操作。
df = pd.read_csv('./maotai.csv')

2. 对DataFrame的数据操作

  • 删除某一列:

DataFrame中的drop操作,可以实现对数据的行或列的删除操作。drop中的labels传入的是行或列的名称,是字符串形式的索引,axis用来指示行或列。要注意在这个操作中,axis=0表示删除行,axis=1表示删除列。inplace表示是否在原data上修改,若为True则在原数据上修改,若为False则会返回一个新的数组数据。

df.drop(labels='Unnamed: 0', axis=1, inplace=True)
  • 数据类型的读取与转换

        1. 用df.info()方法可以获取DataFrame的各列数据类型,同时可以起到查看数据中非空数量的作用。

        2.  针对date列数据,想要把数据类型改成时间序列(datetime64),用的是.to_datetime()的方法。

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

 转成时间序列数据之后有很多便利的地方:

转为日期格式之后可以进行日期索引,日期加减。

        3. 由于date数据具有唯一性,可以把date数据作为源数据的行索引。

df.set_index('date',inplace=True)
  • 输出满足某一条件的数据行

可以以Boolean值做行索引,会返回Boolean值为True的行数据,忽略值为False的行数据。 

##boolean值的确定   判断条件为收盘比开盘上涨3%
df['close']-df['open'])/df['open'] > 0.03
##把bool值作为行索引  找到所有满足条件的行数据
df.loc[(df['close']-df['open'])/df['open'] > 0.03)]

对DataFrame的操作:数据的上移和下移操作 

##shift表示上下移动,括号内为1则为下移一行
df['open'].shift(1)

  •  数据的重取样---来自“取出每个月的第一个交易日”

resample操作: 根据时间聚合采样

DataFrame.resample(rule, how=None, axis=0, fill_method=None, closed=None,
				    label=None, convention='start', kind=None, loffset=None,
				    limit=None, base=0, on=None, level=None)

按月:‘M’

按年:‘A’

 rolling操作:窗口函数

DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)

可以完成将最近几个值相加、求平均等操作

具体参数设置:

  • window:时间窗的大小,数值int,即向前几个数据(可以理解将最近的几个值进行group by)
  • min_periods:最少需要有值的观测点的数量,对于int类型,默认与window相等
  • center:把窗口的标签设置为居中,布尔型,默认False
  • win_type: 窗口的类型,截取窗的各种函数。字符串类型,默认为None
  • on: 可选参数,对于dataframe而言,指定要计算滚动窗口的列,值为列名
  • closed:定义区间的开闭,支持int类型的window,对于offset类型默认是左开右闭的即默认为right,可以根据情况指定为left、both等
  • axis:方向(轴),一般都是0

常用聚合函数:

  • mean() 求平均
  • count() 非空观测值数量
  • sum() 值的总和
  • median() 值的算术中值
  • min() 最小值
  • max() 最大
  • std() 贝塞尔修正样本标准差
  • var() 无偏方差
  • skew() 样品偏斜度(三阶矩)
  • kurt() 样品峰度(四阶矩)
  • quantile() 样本分位数(百分位上的值)
  • cov() 无偏协方差(二元)
  • corr() 相关(二进制)
     
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐