m0_62453815 2021-10-27 14:22 采纳率: 80%
浏览 77
已结题

python如何求出多个股票的移动均价

导出多个股票一段时间的收盘价,要想求每个股票5日移动均价,并添加到新的一列。由于导出的文件是根据日期将股票的价格进行排列的。简单根据rolling(5)求出的是将所有的股票价格相加求均,显然不对。

img

  • 写回答

1条回答 默认 最新

  • 技术专家团-Joel 2021-10-27 14:45
    关注

    你好同学,你先把你的数据分一下组一下然后rolling(5)就是每5天的平均了

    your_df = your_df.groupby('ts_code').rolling(5).mean()
    

    有帮助望采纳呢,有什么其他问题可以一起讨论哟

    import pandas as pd
    df = pd.read_csv('hhh.csv',sep='\\s+')##读入的时候注意我这里是空格为分隔符,如果是逗号的话sep=','
    SMA = df.groupby(['ts_code'])['close'].rolling(5).mean()
    df = df.groupby(['ts_code'])[['trade_date','open','close','low','high']].rolling(1).mean()
    df['trade_date'] = df['trade_date'].astype('int')
    col_name=df.columns.tolist()                   # 
    col_name.insert(5,'SMA_5')                      # 
    df=df.reindex(columns=col_name)              # 
    df['SMA_5']=SMA   # 
    df.to_csv('out.csv')#最后导出文件
    

    好了你可以用一用试一试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月5日
  • 已采纳回答 10月28日
  • 创建了问题 10月27日