文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么在Python中让特征值滞后一行

2023-06-15 04:36

关注

怎么在Python中让特征值滞后一行?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

# 加载库import pandas as pddataframe = pd.DataFrame()# 模拟数据dataframe["dates"] = pd.date_range("1/1/2001", periods=5, freq="D")dataframe["stock_price"] = [1.1,2.2,3.3,4.4,5.5]dataframe.head()# 让值滞后一行dataframe["previous_days_stock_price"] = dataframe["stock_price"].shift(1)dataframe.head()datesstock_priceprevious_days_stock_price02001-01-011.1NaN12001-01-022.21.122001-01-033.32.232001-01-044.43.342001-01-055.54.4

补充:怎样用python画超前滞后先关图

想要获取更多Python学习资料,了解更多关于Python的知识,可以加Q群630390733踊跃发言,大家一起来学习讨论吧!

超前滞后相关是什么

想看两个时间序列是否相关,最简单的方法就是求二者的相关系数,但是在大气、海洋等科学问题的研究中,往往一个过程的响应并不是实时的,可能当a过程发生以后一段时间b过程才会发生,这样的关系往往不是同时期的相关系数可以表现的。

超前滞后相关就是为了看两个过程的发生演变是否在时间的先后上有一定的相关性。

举个例子:

有a、b两个时间序列,长度都是十二个月,直接求相关系数就是简单的同期相关。

如果a的1-11月对b的2-12月做相关系数,就是a对b超前1个月的相关;拿a的2-12月对b的1-11月做相关则称之为a对b的滞后1月相关,以此类推,就能求出n个月的超前滞后相关,画图出来就是沿0月(同期)正负各n月。

怎么在Python中让特征值滞后一行

摘自黄嘉佑的书《气相统计分析与预报方法》,第三版,17页

python中的实现

需要输入两个时间序列,结果为data1对data2的超前滞后相关系数的序列

from scipy.stats import pearsonrimport numpy as np #超前滞后相关def leadlagcor(data1,data2,n):#data1和data2为两个时间序列,n设置做多少个时间步长的超前滞后    a=-n    b=-a    c=b*2+1    x=np.arange(-n,n+1,1)    r=np.zeros((c,1))    p=np.zeros((c,1))     for i in range(c):        if i<(b):            r[n-i],p[n-i]=pearsonr(data1[:(len(data1)-i)], data2[i:])        else:            r[i],p[i]=pearsonr(data1[x[i]:], data2[:len(data1)-x[i]])    return r

附赠一个可视化程序

def leadlagcor_plot(data1,data2,n):#data1和data2为两个时间序列,n设置做多少个时间步长的超前滞后    r=leadlagcor(data1,data2,n)#调用上面写的函数做超前滞后相关    x=range(-n,n+1,1)        fig = plt.figure()    ax = fig.add_subplot(111)    ax.plot(x,r,'k--',linewidth=0.8)    ax.axhline(0, color='k')        b=ax.bar(x,np.squeeze(r),color='red')    for bar,height in zip(b,r):        if height<0:            bar.set(color='blue')         print('cor_max:',np.max(r),'\n','cor_min:',np.min(r))     plt.savefig('%s.jpg')    plt.show()

画出来的结果就是这样啦,有更好的写法和例图也欢迎分享~

祝大家科研顺利,身心健康!

怎么在Python中让特征值滞后一行

python的数据类型有哪些?

python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮点型)。2.字符串,分别是str类型和unicode类型。3.布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。4.列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5. 元组,元组用”()”标识,内部元素用逗号隔开。6. 字典,字典是一种键值对的集合。7. 集合,集合是一个无序的、不重复的数据组合。

关于怎么在Python中让特征值滞后一行问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯