![Python金融数据分析与挖掘(微课版) 课件 3-5.常用计算任务_第1页](http://file4.renrendoc.com/view14/M00/25/27/wKhkGWdfvyGANHc4AAEBXBBG5K8945.jpg)
![Python金融数据分析与挖掘(微课版) 课件 3-5.常用计算任务_第2页](http://file4.renrendoc.com/view14/M00/25/27/wKhkGWdfvyGANHc4AAEBXBBG5K89452.jpg)
![Python金融数据分析与挖掘(微课版) 课件 3-5.常用计算任务_第3页](http://file4.renrendoc.com/view14/M00/25/27/wKhkGWdfvyGANHc4AAEBXBBG5K89453.jpg)
![Python金融数据分析与挖掘(微课版) 课件 3-5.常用计算任务_第4页](http://file4.renrendoc.com/view14/M00/25/27/wKhkGWdfvyGANHc4AAEBXBBG5K89454.jpg)
![Python金融数据分析与挖掘(微课版) 课件 3-5.常用计算任务_第5页](http://file4.renrendoc.com/view14/M00/25/27/wKhkGWdfvyGANHc4AAEBXBBG5K89455.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章
数据处理包Pandas滚动计算、时间元素提取映射与离散化分组统计滚动计算第3章
滚动计算,也称为移动计算,给定一个数据序列,按指定的前移长度进行统计计算,比如求和、平均值、最大值、最小值、中位数、方差、标准差等。这里前移长度的计算,包含自身,如果待计算的数据序列小于指定的前移长度,则无法计算,用空值“nan”来表示。简单调用形式为:S.rolling(N).统计函数,其中S表示序列,N表示指定的前移长度importpandasaspdlist_data=[10,4,3,8,15,26,17,80,12,5]series_data=pd.Series(list_data)rolling_sum=series_data.rolling(5).sum()rolling_mean=series_data.rolling(5).mean()rolling_max=series_data.rolling(5).max()rolling_min=series_data.rolling(5).min()rolling_median=series_data.rolling(5).median()rolling_var=series_data.rolling(5).var()时间元素提取第3章
对时间格式的序列数据,提取包括年份、月份、周数、日期、小时、分钟、秒、星期几等时间元素。importpandasaspddata=pd.read_excel('dat.xlsx')这里“刷卡时间”数据格式为字符串时间元素提取第3章
对时间格式的序列数据,提取包括年份、月份、周数、日期、小时、分钟、秒、星期几等时间元素。importpandasaspddata=pd.read_excel('dat.xlsx')data['刷卡时间']=pd.to_datetime(data.iloc[:,1],format='%Y-%m-%d%H:%M:%S.%')这里“刷卡时间”数据格式为时间格式时间元素提取第3章
data['year']=data['刷卡时间'].dt.yeardata['month']=data['刷卡时间'].dt.monthdata['day']=data['刷卡时间'].dt.daydata['hour']=data['刷卡时间'].dt.hourdata['minute']=data['刷卡时间'].dt.minutedata['second']=data['刷卡时间'].dt.seconddata['week']=data['刷卡时间'].dt.isocalendar().weekdata['weekday']=data['刷卡时间'].dt.weekday将字符串类型的时间序列转化为时间戳类型。时间元素提取形式式为:“时间戳类型序列.dt.时间元素”,返回的结果依然是序列映射第3章
序列中的映射方法,简单的调用形式为:序列.map(映射参数),其中映射参数一般为字典类型,格式如:{原值1:映射值1,原值2:映射值2,...}。dict_map={'进站':1,'出站':0}data['刷卡类型']=data['刷卡类型'].map(dict_map)离散化第3章
data1=data.iloc[data['刷卡类型'].values==1,[0,5,6]]#取刷卡类型、hour、minute列data1_hour=data1.groupby('hour')['刷卡类型'].sum()#按hour分组,对刷卡类型列求和离散化第3章
bins=[0,100,500,1000]dt1=pd.cut(data1_hour,bins)dt2=pd.cut(data1_hour,bins,labels=[0,1,2])dt_cut=pd.DataFrame({'c1':data1_hour.values,'c2':dt1.values,'c3':dt2.values})dt_cut.index=data1_hour.index数据分割,即离散化,可以使用pandas库中的cut函数来实现,其简单调用形式为:pd.cut(S,bins)或pd.cut(S,bins,labels),其中S为数据序列,bins为分割区间列表,labels为分割区间的类别表示列表分组统计第3章
姓名日期消费类型消费额张明2018-01旅游200张明2018-01餐饮300张明2018-01服装300张明2018-02旅游100张明2018-02餐饮250张明2018-02服装250李红2018-01旅游50李红2018-01餐饮200李红2018-01服装400李红2018-02旅游100李红2018-02餐饮250李红2018-02服装500王周2018-01旅游500王周2018-01餐饮200王周2018-01服装100王周2018-02旅游650王周2018-02餐饮180王周2018-02服装80按“姓名”字段,可以分为3组;如果按“姓名”和“日期”字段,可以分为6组,比如第一组为“张明、2018-01”,第二组为“张明、2018-02”。以“姓名、日期”为分组字段,“消费额”为统计字段,即可确定统计范围,例如对第一组的“销售额”作求和统计,结果为:200+300+300=800;第二组求和统计结果为:100+250+250=600分组统计计算,可以通过数据框的groupby()方法和相关统计函数组合完成,调用形式为:df.groupby([分组字段])[统计字段].统计函数,其中统计函数如sum()、mean()、median()、max()、min()、var()、std()等分组统计第3章
importpandasaspdB=pd.read_excel('表3-1用户消费数据.xlsx')B1=B.groupby(['姓名','日期'])['消费额'].sum()分组统计第3章
分组统计后的结果数据长度与分组个数相同,与原始数据的长度不相同,对某些计算任务不太友好,比如要计算张明,2018-01,在旅游、餐饮和服装上的消费占比。事实上,分组统计计算,有另外一种形式,其统计结果与原始数据规模相同,其简单调用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粮油加工厂出租居间合同
- 汽车美容店装修监理合同
- 二零二五年度办公室劳动合同地址确认及员工绩效奖金协议
- 装修分期付款合同须知
- 报关合同和销售合同
- 新劳动合同法规定
- 三农村电商行业监管与政策支持方案
- 软件开发流程与项目管理作业指导书
- 居间合同物权方
- 建筑装饰装修工程作业指导书
- 历史-辽宁省协作体2024-2025学年度高三上学期期末考试试题试题和答案
- 2025年银行安保年度工作计划
- 临床药师进修汇报总结
- 2025年浙江嘉兴桐乡市水务集团限公司招聘10人高频重点提升(共500题)附带答案详解
- 食品企业如何做好虫鼠害防控集
- 环保工程信息化施工方案
- 狂犬病暴露后预防处置
- 心律失常性心肌病
- 医疗器械代表年终总结
- 内审和管理评审培训课件
- 手印鉴定书模板
评论
0/150
提交评论