F# Step By Step(一):基础语法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是代码实现: ```python import pandas as pd import numpy as np import datetime # 读取数据表 df = pd.read_excel('data1.xlsx') # 转换日期格式 df['交易日期'] = pd.to_datetime(df['交易日期']) # 提取2016年~2017年的数据 df = df[(df['交易日期'] >= datetime.datetime(2016, 1, 1)) & (df['交易日期'] <= datetime.datetime(2017, 12, 31))] # 计算周数 df['周数'] = df['交易日期'].dt.week # 计算a1周最高价 a1 = df.groupby('周数')['最高价'].max() # 计算a2周最低价 a2 = df.groupby('周数')['最低价'].min() # 计算a3成交额 a3 = df.groupby('周数')['成交额'].sum() # 计算a4周收益率 df['上周收盘价'] = df['收盘价'].shift(1) df['周收益率'] = (df['收盘价'] - df['上周收盘价']) / df['上周收盘价'] a4 = df.groupby('周数')['周收益率'].last() # 计算a5上周收益率 a5 = df.groupby('周数')['周收益率'].last().shift(1) # 计算a6前周收益率 a6 = df.groupby('周数')['周收益率'].last().shift(2) # 计算a7上周成交额 a7 = df.groupby('周数')['成交额'].last().shift(1) # 计算a8近四周平均成交额 a8 = df.groupby('周数')['成交额'].rolling(window=4).mean().reset_index(level=0, drop=True) # 构建Data数据框 Data = pd.concat([a1, a2, a3, a4, a5, a6, a7, a8], axis=1) Data.columns = ['a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'a8'] # 计算y值 df['下周收盘价'] = df['收盘价'].shift(-1) df['y'] = np.where(df['下周收盘价'] - df['收盘价'] > 0, 1, -1) y = df.groupby('周数')['y'].last().shift(-1) # 删除最后一行无效数据 Data = Data[:-1] y = y[:-1] return (Data, y) ``` 其中,需要用到 step6_4 中的 return_values() 函数来获取数据。函数的实现可以参考上一关的任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值