《大数据应用基础》课件-3.8Pandas-熊猫透视移行换位_第1页
《大数据应用基础》课件-3.8Pandas-熊猫透视移行换位_第2页
《大数据应用基础》课件-3.8Pandas-熊猫透视移行换位_第3页
《大数据应用基础》课件-3.8Pandas-熊猫透视移行换位_第4页
《大数据应用基础》课件-3.8Pandas-熊猫透视移行换位_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Pandas-熊猫透视移行换位课前回顾数据分组-groupby:根据一个或多个键对数据进行分组,分组后进行聚合运算产生实际结果,get_group()选择一组;数据聚合-agg:groupby()后调用agg()自定义聚合方式,可在一次计算中完成多种聚合。数据重塑在进行数据分析时,通常需要对数据进行重塑、改变数据结构,以适应进一步的分析需求。数据重塑:将数据进行重新排列。pandas提供了pivot_table(数据透视表)及stack、unstack(轴向转换)两种方法来实现对数据的重塑。目录0102数据透视-pivot_table轴向转换01数据透视-pivot_table数据透视-pivot_table在财务工作中,当分析数据庞大,数据结构不断变化时,我们经常会使用到数据透视表,那么,在Pandas中有没有类似的功能呢?pivot_table()函数:类似于Excel中的数据透视表功能,是一种可以对数据动态排布并且分类汇总的表格格式,pivot_table可以将普通列转换为行索引、列索引及元素值,进行各种汇总计算。pivot_table()函数语法:DataFrame.pivot_table(values=None,index=None,columns=None,aggfunc='mean',fill_value=None,margins=False,dropna=True,

margins_name='All',observed=False)pivot_table()参数常用参数说明values数据透视表的元素值:若不指定values,默认将除行、列索引以外的所有列作为元素值列index数据透视表的行索引:可选取一列或多列columns数据透视表的列索引:可选取一列或多列aggfunc值计算方式:默认计算平均值“mean”fill_valueNaN用什么填充:默认不填充,fill_value=0表示用0填充margins是否汇总:默认False,即不进行汇总,margins=True表示汇总dropna是否放弃所有元素均为NaN的列:默认为True,代表放弃所有元素均为NaN的列margins_name汇总栏命名,默认为'All'数据透视-pivot_table要求:读取data.xlsx中的“利润表项目”,新增“季度”列作为行索引、“年”为列索引,统计“营业收入”和“营业成本”的季度发生额。示例1代码#

引入pandas,读取利润表项目importpandasaspddf=pd.read_excel(r'/app/bigdata/basics/data.xlsx',sheet_name

=

1,converters

=

{'年':str,'月':str})#创建一个月份与季度对照的字典monthToQuartermonthToQuarter

=

{'1':'第1季','2':'第1季','3':'第1季',

'4':'第2季','5':'第2季','6':'第2季','7':'第3季','8':'第3季','9':'第3季',

'10':'第4季','11':'第4季','12':'第4季'}#插入‘季度’列df['季度']=

df['月'].map(monthToQuarter)#数据透视表df1

=

df.pivot_table(index=['季度'],columns=['年'],values=['营业收入','营业成本'],aggfunc='sum')df1数据透视-pivot_table要求:读取data.xlsx中的“利润表项目”,新增“季度”列作为行索引、“年”为列索引,统计“营业收入”和“营业成本”的季度发生额。提示为什么要使用pivot_table?灵活性强,可以随意定制分析计算内容脉络清晰,易于理解数据操作性强,财务分析神器02轴向转换轴向转换数据重塑的方法除了pivot_table外,还有轴向转换;轴向转换:数据行列索引相互转换,包括stack()函数和unstack()函数,灵活运用轴向转换功能可轻松实现数据重塑。数据的轴向转换:stack():将数据的列索引转换为行索引,默认转换最内层的索引unstack():将数据的行索引转换为列索引,默认转换最内层的索引stack与unstack互为逆操作分层索引分层索引:允许在一个轴上拥有多个索引层级,它提供了一种在低维度形式中处理高维度数据的方法,是pandas的重要特征。提示轴向转换通过对索引层级的控制,实现对数据的重塑。stack()函数stack()函数:将数据的列索引转换为行索引,返回一个经过重整的DataFrame或Series。stack()函数语法:DataFrame.stack(level=-1,dropna=True)stack()函数参数:level:int、str、list,表示需要转换索引轴,默认为-1,表示转换最内层的列索引,转换后为最内层的行索引dropna:是否删除所有值均缺失的行,默认为Trueunstack()函数unstack()函数:将数据的行索引转换为列索引,返回一个经过重整的DataFrame或Series。unstack()函数语法:DataFrame.unstack(level=-1,fill_value=None)unstack()函数参数:level:int、str、list,表示需要转换索引轴,默认为-1,表示转换最内层的行索引,转换后为最内层的列索引fill_value:int、str、dict,缺失值替换方式轴向转换要求:将df1中的列索引“年”和行索引“季度”进行互换。示例2代码#

轴向转换df1.stack().unstack(0)课堂小结数据透视-pivot_table:对列进行操作,指定行、列、元素值,进行汇总计算;轴向转换:stack将列索引转为行索引,unstack是stack的逆操作,默认转换内层索引。本章小结Pandas:Python第三方库,用于数据预处理、清洗、分析工作,数据结构包含Series和DataFrame,数据读取(Excel、csv、json)数据筛选查询:直接筛选、条件筛选、索引器筛选(loc、iloc)高阶函数:map、apply、applymap数据清洗:重复值处理、缺失值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论