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

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

img

你好同学,你先把你的数据分一下组一下然后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')#最后导出文件

好了你可以用一用试一试