公司网站的建设内容怎么写,北京海淀王庄路15号院,网站开发工程师和软件工程,盐城市建设局网站物业资质数据分析-Pandas序列滑动窗口配置参数
数据分析和处理中#xff0c;难免会遇到各种数据#xff0c;那么数据呈现怎样的规律呢#xff1f;不管金融数据#xff0c;风控数据#xff0c;营销数据等等#xff0c;莫不如此。如何通过图示展示数据的规律#xff1f;
数据表难免会遇到各种数据那么数据呈现怎样的规律呢不管金融数据风控数据营销数据等等莫不如此。如何通过图示展示数据的规律
数据表时间序列数据在数据分析建模中很常见例如天气预报空气状态监测股票交易等金融场景。数据分析过程中重新调整重塑数据表是很重要的技巧此处选择Titanic数据以及巴黎、伦敦欧洲城市空气质量监测 N O 2 NO_2 NO2数据作为样例。
数据分析
数据分析-Pandas如何转换产生新列
数据分析-Pandas如何统计数据概况
数据分析-Pandas如何轻松处理时间序列数据
数据分析-Pandas如何选择数据子集
数据分析-Pandas如何重塑数据表-CSDN博客
本文用到的样例数据
Titanic数据
空气质量监测 N O 2 NO_2 NO2数据
样例代码
源代码参考 Pandas如何重塑数据表
源代码参考 python数据分析-数据表读写到pandas
导入关键模块
import pandas as pd
import numpy as np
import matplotlib.pyplot as pltplt.close(all)时间序列有时候需要观察一个窗口下的数据统计比如股市中的移动平均曲线气象监测数据的移动平均。滑动窗口可以过滤掉不必要的高频信号。
窗口居中
通用滑动窗口默认情况下标签设置在窗口的右边缘但可以使用关键字以便可以在中心设置标签。center。
times [2020-01-01, 2020-01-02, 2020-01-03, 2020-01-04, 2020-01-05, 2020-01-06, 2020-01-07, 2020-01-08, 2020-01-09, 2020-01-10]s pd.Series(range(10), indexpd.DatetimeIndex(times))
print(s)ma s.rolling(window5).mean()
print (ma)ma_c s.rolling(window5, centerTrue).mean()
print (ma_c)
为了方便理解采用连续整数数值作为序列。可以看出数值序列的值是不变的改变的是输出数值的位置index
# s
2020-01-01 0
2020-01-02 1
2020-01-03 2
2020-01-04 3
2020-01-05 4
2020-01-06 5
2020-01-07 6
2020-01-08 7
2020-01-09 8
2020-01-10 9
dtype: int64# ma
2020-01-01 NaN
2020-01-02 NaN
2020-01-03 NaN
2020-01-04 NaN
2020-01-05 2.0 # 第一个数值位置
2020-01-06 3.0
2020-01-07 4.0
2020-01-08 5.0
2020-01-09 6.0
2020-01-10 7.0 # 最后一个数值位置# ma_c
2020-01-01 NaN
2020-01-02 NaN
2020-01-03 2.0 # 第一个数值位置
2020-01-04 3.0
2020-01-05 4.0
2020-01-06 5.0
2020-01-07 6.0
2020-01-08 7.0 # 最后一个数值位置
2020-01-09 NaN
2020-01-10 NaN窗口端点的闭合
可以使用以下参数指定在滚动窗口计算中包含间隔端点closed
值含义right右端点闭合left左端点闭合both两个端点闭合neither两个端点不闭合
times [2020-01-01, 2020-01-02, 2020-01-03, 2020-01-04, 2020-01-05, 2020-01-06, 2020-01-07, 2020-01-08, 2020-01-09, 2020-01-10]df pd.Dataframe({x : range(10)}, indexpd.DatetimeIndex(times))
print(df)df[right] df.rolling(3, closedright).x.sum() # defaultdf[both] df.rolling(3, closedboth).x.sum()df[left] df.rolling(3, closedleft).x.sum()df[neither] df.rolling(3, closedneither).x.sum()
以时间为移动窗口的操作结果如下可以看出在边缘值计算方式 x right both left neither
2020-01-01 0 0.0 0.0 NaN NaN
2020-01-02 1 1.0 1.0 0.0 0.0
2020-01-03 2 3.0 3.0 1.0 1.0
2020-01-04 3 6.0 6.0 3.0 3.0
2020-01-05 4 9.0 10.0 6.0 5.0
2020-01-06 5 12.0 14.0 9.0 7.0
2020-01-07 6 15.0 18.0 12.0 9.0
2020-01-08 7 18.0 22.0 15.0 11.0
2020-01-09 8 21.0 26.0 18.0 13.0
2020-01-10 9 24.0 30.0 21.0 15.0为了更好理解该参数的作用以上述的序列x为例当3D滑动窗口时截断如下子序列
[1, 2, 3, 4 ]
closed right 2 3 4 9 ( 也就是左开右闭其中1 不纳入计算)
closed left 1 2 3 6 也就是左闭右开其中 4 不纳入计算
closed both : 1 2 3 4 10 (也就是左闭右闭1,4 都纳入计算)
closed neither : 2 3 5 (也就是左开右开1 4都不纳入计算) 以上代码只是一个简单示例示例代码中的表达式可以根据实际问题进行修改。
后面介绍下其他的展示形式。
觉得有用 收藏 收藏 收藏
点个赞 点个赞 点个赞
End
GPT专栏文章
GPT实战系列-ChatGLM3本地部署CUDA111080Ti显卡24G实战方案
GPT实战系列-LangChain ChatGLM3构建天气查询助手
大模型查询工具助手之股票免费查询接口
GPT实战系列-简单聊聊LangChain
GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型到底做了什么(二)
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型到底做了什么(一)
GPT实战系列-ChatGLM2模型的微调训练参数解读
GPT实战系列-如何用自己数据微调ChatGLM2模型训练
GPT实战系列-ChatGLM2部署UbuntuCuda11显存24G实战方案
GPT实战系列-Baichuan2本地化部署实战方案
GPT实战系列-Baichuan2等大模型的计算精度与量化
GPT实战系列-GPT训练的PretrainingSFTReward ModelingRLHF
GPT实战系列-探究GPT等大模型的文本生成-CSDN博客