shift() 是 Pandas 中一个常用的数据处理函数,它用于对数据进行移动,如“列名.shift(1)”是将某一列数据向下移动一行。
下面我们结合股票行情数据讲一下shift()的应用。
首先,获取数据,这是我们获取000333今年的日k线数据:
df = pro.daily(ts_code='000333.SZ', start_date='20240101', end_date='20240228')#取数据
df=df[['ts_code','trade_date','open','high','low','close']]#筛选需要的列
df=df.sort_values(by='trade_date')#按交易日期升序排列
df
返回(不完全截图):

然后,生成新的一列——将收盘价close一列向下移动一行,变成昨日收盘价。
df['pre']=df['close'].shift(1)
df
返回(不完全截图):

1月2日这一行,因为没有前一日数据,所以pre处为空值
最后,计算出涨跌幅度:
df['chg']=(df['close']-df['pre'])/df['pre']
df['chg']=df['chg'].map(lambda x:format(x,'.3%'))#数字格式化,用百分数表示,并保留3位小数
df
返回(不完全截图):

chg一列即为相比前一交易日的涨跌幅度。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/74940
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!