最新文章专题视频专题关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
python random函数 pandas读取excel文件 python enumerate函数 js replace函数 无法访问移动网络打不了电话 split在python中什么意思 mysql 存储过程 语法 毒蛇神殿开门任务流程 mysql distinct用法 gradle和maven的区别 python判断素数 java collection python 读取csv dwm.exe占用内存过高 多多买菜自提点怎么赚钱 python string python glob ps2021和2020哪个好用 python xlrd js获取当前时间戳 python sorted函数 python list函数 快手极速版找不到删除 xinput1_4.dll丢失怎么修复 python set函数 python xpath python join函数 错误代码0x8007007b setinterval函数用法 excel公式大全详解 joiplay模拟器怎么使用 ntuser.dat是什么文件 比较健康是什么梗 latex使用教程 win10重置能达到重装效果吗 eplan是什么软件 psm倾向得分匹配法 行程码绿色但是带星号 win7缺失dll文件一键修复 mysql workbench使用教程
当前位置: 首页 - 科技 - 知识百科 - 正文

pandas教程

来源:懂视网 责编:李赢赢 时间:2021-12-23 11:23:44
文档

pandas教程

1、简介:pandas是python中基于numpy和matplotlib的第三方数据分析库。2、pandas数据结构:series和二维的dataframe。3、 数据读写:支持大部分的主流文件格式进行数据读写。4、数据访问:兼具numpy数组和字典的结构特性。5、数据处理:最强大的功能。
推荐度:
导读1、简介:pandas是python中基于numpy和matplotlib的第三方数据分析库。2、pandas数据结构:series和二维的dataframe。3、 数据读写:支持大部分的主流文件格式进行数据读写。4、数据访问:兼具numpy数组和字典的结构特性。5、数据处理:最强大的功能。

pandas怎么使用呢?不知道的小伙伴来看看小编今天的pandas教程分享吧!

1、pandas简介:

pandas是python+data+analysis的组合缩写,是python中基于numpy和matplotlib的第三方数据分析库,与后两者共同构成了python数据分析的基础工具包,享有数分三剑客之名。

2、pandas数据结构:

pandas核心数据结构有两种,即一维的series和二维的dataframe,二者可以分别看做是在numpy一维数组和二维数组的基础上增加了相应的标签信息。正因如此,可以从两个角度理解series和dataframe:

series和dataframe分别是一维和二维数组,因为是数组,所以numpy中关于数组的用法基本可以直接应用到这两个数据结构,包括数据创建、切片访问、通函数、广播机制等

series是带标签的一维数组,所以还可以看做是类字典结构:标签是key,取值是value;而dataframe则可以看做是嵌套字典结构,其中列名是key,每一列的series是value。所以从这个角度讲,pandas数据创建的一种灵活方式就是通过字典或者嵌套字典,同时也自然衍生出了适用于series和dataframe的类似字典访问的接口,即通过loc索引访问。

3、 数据读写:

pandas支持大部分的主流文件格式进行数据读写,常用格式及接口为:

文本文件,主要包括csv和txt两种等,相应接口为read_csv()和to_csv(),分别用于读写数据

Excel文件,包括xls和xlsx两种格式均得到支持,底层是调用了xlwt和xlrd进行excel文件操作,相应接口为read_excel()和to_excel()

SQL文件,支持大部分主流关系型数据库,例如MySQL,需要相应的数据库模块支持,相应接口为read_sql()和to_sql()

此外,pandas还支持html、json等文件格式的读写操作。

4、数据访问:

series和dataframe兼具numpy数组和字典的结构特性,所以数据访问都是从这两方面入手。同时,也支持bool索引进行数据访问和筛选。

[ ],这是一个非常便捷的访问方式,不过需区分series和dataframe两种数据结构理解:

series:既可以用标签也可以用数字索引访问单个元素,还可以用相应的切片访问多个值,因为只有一维信息,自然毫无悬念

dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" . "访问。切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签列中),包含两端标签结果,无匹配行时返回为空,但要求标签切片类型与索引类型一致。例如,当标签列类型(可通过df.index.dtype查看)为时间类型时,若使用无法隐式转换为时间的字符串作为索引切片,则引发报错。

5、数据处理:

pandas最为强大的功能当然是数据处理和分析,可独立完成数据分析前的绝大部分数据预处理需求。简单归纳来看,主要可分为以下几个方面:

数据清洗

数据处理中的清洗工作主要包括对空值、重复值和异常值的处理:

空值

判断空值,isna或isnull,二者等价,用于判断一个series或dataframe各元素值是否为空的bool结果。需注意对空值的界定:即None或numpy.nan才算空值,而空字符串、空列表等则不属于空值;类似地,notna和notnull则用于判断是否非空

填充空值,fillna,按一定策略对空值进行填充,如常数填充、向前/向后填充等,也可通过inplace参数确定是否本地更改

删除空值,dropna,删除存在空值的整行或整列,可通过axis设置,也包括inplace参数

重复值

检测重复值,duplicated,检测各行是否重复,返回一个行索引的bool结果,可通过keep参数设置保留第一行/最后一行/无保留,例如keep=first意味着在存在重复的多行时,首行被认为是合法的而可以保留

删除重复值,drop_duplicates,按行检测并删除重复的记录,也可通过keep参数设置保留项。由于该方法默认是按行进行检测,如果存在某个需要需要按列删除,则可以先转置再执行该方法

异常值,判断异常值的标准依赖具体分析数据,所以这里仅给出两种处理异常值的可选方法

删除,drop,接受参数在特定轴线执行删除一条或多条记录,可通过axis参数设置是按行删除还是按列删除

替换,replace,非常强大的功能,对series或dataframe中每个元素执行按条件替换操作,还可开启正则表达式功能

数值计算

由于pandas是在numpy的基础上实现的,所以numpy的常用数值计算操作在pandas中也适用:

通函数ufunc,即可以像操作标量一样对series或dataframe中的所有元素执行同一操作,这与numpy的特性是一致的,例如前文提到的replace函数,本质上可算作是通函数。如下实现对数据表中逐元素求平方

广播机制,即当维度或形状不匹配时,会按一定条件广播后计算。由于pandas是带标签的数组,所以在广播过程中会自动按标签匹配进行广播,而非类似numpy那种纯粹按顺序进行广播。例如,如下示例中执行一个dataframe和series相乘,虽然二者维度不等、大小不等、标签顺序也不一致,但仍能按标签匹配得到预期结果

字符串向量化,即对于数据类型为字符串格式的一列执行向量化的字符串操作,本质上是调用series.str属性的系列接口,完成相应的字符串操作。尤为强大的是,除了常用的字符串操作方法,str属性接口中还集成了正则表达式的大部分功能,这使得pandas在处理字符串列时,兼具高效和强力。例如如下代码可用于统计每个句子中单词的个数

时间类型向量化操作,如字符串一样,在pandas中另一个得到"优待"的数据类型是时间类型,正如字符串列可用str属性调用字符串接口一样,时间类型列可用dt属性调用相应接口,这在处理时间类型时会十分有效。

数据转换

pandas还提供了更为强大的数据转换方法

map,适用于series对象,功能与python中的普通map函数类似,即对给定序列中的每个值执行相同的映射操作,不同的是series中的map接口的映射方式既可以是一个函数,也可以是一个字典

apply,既适用于series对象也适用于dataframe对象,但对二者处理的粒度是不一样的:apply应用于series时是逐元素执行函数操作;apply应用于dataframe时是逐行或者逐列执行函数操作(通过axis参数设置对行还是对列,默认是行),仅接收函数作为参数

applymap,仅适用于dataframe对象,且是对dataframe中的每个元素执行函数操作,从这个角度讲,与replace类似,applymap可看作是dataframe对象的通函数。

合并与拼接

pandas中又一个重量级数据处理功能是对多个dataframe进行合并与拼接,对应SQL中两个非常重要的操作:union和join。pandas完成这两个功能主要依赖以下函数:

concat,与numpy中的concatenate类似,但功能更为强大,可通过一个axis参数设置是横向或者拼接,要求非拼接轴向标签唯一(例如沿着行进行拼接时,要求每个df内部列名是唯一的,但两个df间可以重复,毕竟有相同列才有拼接的实际意义)

merge,完全类似于SQL中的join语法,仅支持横向拼接,通过设置连接字段,实现对同一记录的不同列信息连接,支持inner、left、right和outer4种连接方式,但只能实现SQL中的等值连接

join,语法和功能与merge一致,不同的是merge既可以用pandas接口调用,也可以用dataframe对象接口调用,而join则只适用于dataframe对象接口

append,concat执行axis=0时的一个简化接口,类似列表的append函数一样

实际上,concat通过设置axis=1也可实现与merge类似的效果,二者的区别在于:merge允许连接字段重复,类似一对多或者多对一连接,此时将产生笛卡尔积结果;而concat则不允许重复,仅能一对一拼接。

以上就是小编今天的分享了,希望可以帮助到大家。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:0731-84117792 E-MAIL:11247931@qq.com

文档

pandas教程

1、简介:pandas是python中基于numpy和matplotlib的第三方数据分析库。2、pandas数据结构:series和二维的dataframe。3、 数据读写:支持大部分的主流文件格式进行数据读写。4、数据访问:兼具numpy数组和字典的结构特性。5、数据处理:最强大的功能。
推荐度:
标签: pandas教程
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题python random函数python random函数专题pandas读取excel文件pandas读取excel文件专题python enumerate函数python enumerate函数专题js replace函数js replace函数专题无法访问移动网络打不了电话无法访问移动网络打不了电话专题split在python中什么意思split在python中什么意思专题mysql 存储过程 语法mysql 存储过程 语法专题毒蛇神殿开门任务流程毒蛇神殿开门任务流程专题mysql distinct用法mysql distinct用法专题gradle和maven的区别gradle和maven的区别专题python判断素数python判断素数专题java collectionjava collection专题python 读取csvpython 读取csv专题dwm.exe占用内存过高dwm.exe占用内存过高专题多多买菜自提点怎么赚钱多多买菜自提点怎么赚钱专题python stringpython string专题python globpython glob专题ps2021和2020哪个好用ps2021和2020哪个好用专题python xlrdpython xlrd专题js获取当前时间戳js获取当前时间戳专题年会总结发言年会总结发言专题js获取时间戳js获取时间戳专题2021年诊所工作总结2021年诊所工作总结专题js获取当前日期js获取当前日期专题2021年院感工作总结2021年院感工作总结专题2021年防疫工作总结2021年防疫工作总结专题德鲁伊大鸟任务流程德鲁伊大鸟任务流程专题2021年统战工作总结2021年统战工作总结专题开展谈心谈话工作总结开展谈心谈话工作总结专题公司年会个人总结范文公司年会个人总结范文专题创意车展手工制作专题东莞博为新能源科技有限公司专题创意办公室装潢专题创意编发大赛专题创业怎么拼音专题创意编程图形专题鼠牙雀角正确答案专题瘦肩打什么专题创一者皮鞋专题创业证去那办专题受注闪专题东海彩砂专题东海副食品批发市场专题穿越之锦瑟五十弦专题瘦唇多少钱专题创业资源的整合路径专题手能拔罐吗专题东海富汇豪庭有几栋楼专题创业最关键的动力是野心专题财务管理专升本要考数学吗专题
Top