欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    (高职)12.2 pandas模块ppt课件.pptx

    • 资源ID:14913985       资源大小:160.50KB        全文页数:15页
    • 资源格式: PPTX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    (高职)12.2 pandas模块ppt课件.pptx

    12.2 pandas模块Python Python 程序设计程序设计丁辉丁辉 商俊燕商俊燕 范晓玲范晓玲第十二章第十二章 数据处理数据处理u12.1 numpy模块模块u12.2 pandas模块模块u12.3 matplotlib模块模块u12.4 大数据处理精选案例大数据处理精选案例u小结小结2022年5月8日32022年5月8日4pandas 是基于numpy构建的含有更高级数据结构和工具的数据分析包,是一个专门用于数据分析的开源Python库。目前,所有使用Python语言研究和分析数据集的专业人士,在做统计分析和决策时,pandas都是他们的基础工具。它能够以最简单的方式提供数据处理、数据抽取和数据操作所需的全部工具。 l pandas引入 from pandas import Series,DataFrame import pandas as pdlSeries对象 Series对象类似numpy数组的数据结构,同时每个元素带有标签(lable)或者说索引(index)。支持float、int、bool、datatime、timedelta、category、object类型。创建Series对象可以使用Series()构造函数来声明,把要存放在Series对象中的数据以数组形式传入。 import pandas as pd from pandas import Series,DataFrame sn = Series(1,2,3,as) print (sn)0 11 22 33Asdtype: object sn = Series(1,2,3,as,index=a,b,c,d) #增加索引参数 print (sn)a 1b 2c 3d asdtype: object print(sn.index)Index(a, b, c, d, dtype=object) print(sn.values)1,2,3, as12.2 pandas模块选择Series内部元素 sn = Series(1,2,3,4,index=a,b,c,d) print(sn2,snc) print(sn0:2)3 3a 1b 2dtype: int64 2022年5月8日5lDataFrame对象 DataFrame对象是一种二维的表结构,类似Excel中的工作表。pandas的DataFrame可以存储许多种不同的数据类型,并且每一个坐标轴都有自己的标签。DataFrame由按一定顺序排列的多列数据组成,各列的数据类型可以不同。创建DataFrame对象 import pandas as pd from pandas import Series,DataFrame data = id: 2000, 2001, 2002,name: lily, apple, micky,age: 15, 17,19 #从字典创建 frame1 = DataFrame(data) print(frame1) i d name age0 2000 lily 151 2001 apple 172 2002 micky 19 选取元素使用DataFram对象中的columns属性,可以获取DataFram中所有列。 fc = frame1.columns print(fc)Index(id, name, age, dtype=object)DataFram对象中的index属性获取索引列表,values属性获取所有元素。 print(frame1.index)RangeIndex(start=0, stop=3, step=1) print(frame1.values)2000 lily 15 2001 apple 17 2002 micky 1912.2 pandas模块2022年5月8日6l DataFrame对象使用ix属性能获取DataFram对象中的行。 fr = frame1.ix0 fr1 = frame1.ix1 fr2 = frame1.ix0.:1 print(fr)id 2000name lilyage 15Name: 0, dtype: object print(fr1)id 2001name appleage 17Name: 1, dtype: object print(fr2)id name age0 2000 lily 151 2001 apple 17函数应用 frame2 = pd.DataFrame(np.arange(6).reshape(2,3),columns=id,name,age) fs = np.sqrt(frame2) fm = np.max(frame2) fmean = np.mean(frame2) print(frame2) id name age0 0 1 21 3 4 5 print(fs) id name age0 0.000000 1.0 1.4142141 1.732051 2.0 2.236068 print(fm)id 3name 4age 5dtype: int32print(fmean) id 1.5name 2.5age 3.5dtype: float6412.2 pandas模块2022年5月8日7l DataFrame对象NaN数据处理 from pandas import Series,DataFrame import numpy as np import pandas as pd ser = pd.Series(0,1,np.NaN,3,index=red,blue,white,green) print(ser)red 0.0blue 1.0white NaNgreen 3.0dtype: float64 ser.dropna() #过滤掉缺失值red 0.0blue 1.0green 3.0dtype: float64 frame1 = pd.DataFrame(1,np.NaN,np.NaN,2,np.NaN,np.NaN,columns=id,name,age) f = frame1.dropna() #只要有NaN,则整列或整行被删除 print(f) Empty DataFrameColumns: id, name, ageIndex: 12.2 pandas模块2022年5月8日8lDataFrame对象 print (frame1.dropna(how=all) #只会删除全列或行都为NaN的列或行 id name age0 1 NaN NaN1 2 NaN NaN print(frame1.fillna(5) #用一个值替换NaN id name age0 1 5.0 5.01 2 5.0 5.0 print(frame1.fillna(name:zhanglin,age:25) id name age0 1 zhanglin 25.01 2 zhanglin 25.012.2 pandas模块2022年5月8日9l 数据集成 在Python中,panda.merge()函数可根据一个或多个键将不同DataFrame中的行连接起来;pandas.concat()函数可以沿着一条轴将多个对象堆叠到一起。使用merge()函数进行合并merge()函数的格式为:merge(left, right, how=inner, on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=(_x, _y), copy=True, indicator=False) left与与right:两个不同的DataFrame。how:指的是合并(连接)的方式有inner(内连接),left(左外连接),right(右外连接),outer(全外连接),默认为inner。on : 指的是用于连接的列索引名称。必须存在左右两个DataFrame对象中,如果没有指定且其它参数也未指定则以两个DataFrame的重叠列名做为连接键。left_on:左则DataFrame中用作连接键的列名。当两个DataFrame对象中没有相同列名,但有含义相同的列时,就可以使用这个参数。right_on:与left_on配合使用,右则DataFrame中用作连接键的列名。left_index:使用左则DataFrame中的行索引作为连接键。right_index:使用右则DataFrame中的行索引作为连接键。sort:默认为True,将合并的数据进行排序。在大多数情况下设置为False可以提高性能suffixes:字符串值组成的元组,用于指定当左右DataFrame存在相同列名时在列名后面附加的后缀名称,默认为(_x,_y)。copy:默认为True,总是将数据复制到数据结构中;大多数情况下设置为False可以提高性能。 12.2 pandas模块2022年5月8日10l 数据集成frame1 = pd.DataFrame(id:101,102,103,name:lily,mike,jerry)frame2 = pd.DataFrame(id:101,102,104,score:84,93,76) #对两个DataFrame对象应用merge()函数,执行合并操作 print(pd.merge(frame1,frame2) #默认按id进行合并 id name score0 101 lily 841102 mike 93 frame1 = pd.DataFrame(id:101,102,103,name:lily,mike,jerry) frame2 = pd.DataFrame(sid:101,102,104,score:84,93,76) print(fml=pd.merge(frame1,frame2, left_on=id,right_on=sid)#设置left_on=id、 right_on=sid,将frame1对象中的id和frame2对象中的sid作为连接键 id name sid score0 101 lily 101 841102 mike 102 93 frame1 = pd.DataFrame(id:101,102,103,name:lily,mike,jerry) frame2 = pd.DataFrame(id:101,102,104,score:84,93,76) fml = pd.merge(frame1,frame2, how=left,) #不同的合并方式 fmr = pd.merge(frame1,frame2, how=right) fmo = pd.merge(frame1,frame2, how=outer) fmi = pd.merge(frame1,frame2, how=inner) print(fml) id name score0 101 lily 84.01 102 mike 93.02 103 jerry NaN12.2 pandas模块2022年5月8日11l 数据集成 print(fmr) id name score0 101 lily 841 102 mike 932 104 NaN 76 print(fmo) id name score0 101 lily 84.01 102 mike 93.02 103 jerry NaN3 104 NaN 76.0 print(fmi) id name score0 101 lily 841 102 mike 9312.2 pandas模块2022年5月8日12l 数据集成使用concat()函数进行拼接concat()函数的格式为:concat(objs, axis=0, join=outer, join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True) objs:参与连接的列表或字典,且列表或字典里的对象是pandas数据类型,唯一必须给定的参数。axis:指明连接的轴向,0是纵轴,1是横轴,默认是0。join:“inner”(交集),“outer”(并集),默认是“outer”。 frame1 = pd.DataFrame(id:101,102,103,105,name:lily,mike,jerry,tom) frame2 = pd.DataFrame(id:101,102,104,name:lily,mike,peppg) print(pd.concat(frame1,frame2,axis=0) #axis=0,纵轴连接 id name0 101 lily1 102 mike2 103 jerry3 105 tom0 101 lily1 102 mike2 104 peppg print(pd.concat(frame1,frame2,axis=1) #横轴连接 id name id name0 101 lily 101 lily1 102 mike 102 mike2 103 jerry 104 peppg3 105 tom NaN NaN12.2 pandas模块2022年5月8日13l 数据集成 frame1 = pd.DataFrame(id:101,102,103,105,name:lily,mike,jerry,tom) frame2 = pd.DataFrame(id:101,102,104,name:lily,mike,peppg) fco = pd.concat(frame1,frame2,axis=1,join=outer) #并集 fc = pd.concat(frame1,frame2,axis=1,join=inner) #交集 print(fco) id name id name0 101 lily 101 lily1 102 mike 102 mike2 103 jerry 104 peppg3 105 tom NaN NaN print(fc) id name id name0 101 lily 101 lily1 102 mike 102 mike2 103 jerry 104 peppg12.2 pandas模块2022年5月8日14【例12-1】dianying.csv中包含多个城市中多部电影的票房信息,要求任选dianying.csv中某部电影统计其上映天数和日平均票房。分析:dianyig.csv文件中包含有电影名称、上映时间、下线时间、公司、导演、主演、类型、票房、城市信息。首先筛选出该电影的电影名称、电影上映时间、下线时间、票房信息等列;接着对筛选出的信息进行去重、去空等清洗处理;再将新数据进行格式转换;最后统计电影的上映天数和日平均票房。#eg12_1.py#导入pandas库import pandas as pd #读入csv中的数据,以“;”作为分割添加字段名df = pd.read_csv(dianying.csv,delimiter=;,encoding=utf-8,names=电影名称,上线时间,下线时间,公司,导演,主演,类型,票房,城市) #筛选影片冲上云霄数据dyxx = dfdf电影名称=冲上云霄.loc:,电影名称,上线时间,下线时间,票房,城市 #去重处理dyxx = dyxx.drop_duplicates().reset_index().drop(index,axis=1) #去除票房列多余的字符票房(万),且转为float类型 dyxx票房 = dyxx票房.str.split()).str1.astype(float) #将时间列转换datetime时间类型dyxx上线时间 = pd.to_datetime(dyxx上线时间)dyxx下线时间 = pd.to_datetime(dyxx下线时间)#计算上映总天数day = (dyxx下线时间.max()-dyxx上线时间.min().days+1 #计算总票房box = dyxx票房.sum() #计算平均票房 avg_box = box/day #输出计算结果print(dyxx电影名称0,电影上映:,day,天,;日平均票房:,avg_box) 12.2 pandas模块2022年5月8日15

    注意事项

    本文((高职)12.2 pandas模块ppt课件.pptx)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开