《盘点66个Pandas函数.docx》由会员分享,可在线阅读,更多相关《盘点66个Pandas函数.docx(16页珍藏版)》请在第一文库网上搜索。
1、盘点66个Pandas函数,轻松搞定“数据清洗”!今天我们来盘点66个Pandas函数合集,包括数据预览、数值数据操作、文本数据操作、行/列操作等等,涉及“数据清洗”的方方面面。Pandas是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的。它提供了大量能使我们快速便捷地处理数据的函数和方法。数据预览对于探索性数据分析来说,做数据分析前需要先看一下数据的总体概况。infoO方法用来查看数据集信息,describeO方法将返回描述性统计信息,这两个函数大家应该都很熟悉了。describe方法默认只给出数值型变量的常用统计量,要想对DataFrame中的每个变量进行汇总统计,可以将其中
2、的参数include 设为 al 1 ohead。方法和tailO 方法则是分别显示数据集的前n和后n行数据。如果想要随机看N行的数据,可以使用sample。方法。df sample(3)输出:日期销量1 2022-03-02 1004 2022-03-05 1222 2022-03-0395如果要检查数据中各列的数据类型,可以使用.dtypes;如果想要值查看所有的列名,可以使用. columnsodf 1李四225SA66387姓名迟到天数01231唯一值,unique。是以数组形式返回列的所有唯一值,而nuni que ()返回的是唯一值的个数。输出:df“gender, unique(
3、)array (female, male, dtype=ob ject)df gender*. nunique()2在数值数据操作中,apply ()函数的功能是将一个自定义函数作用于Dat a Frame的行或者列;applymap ()函数的功能是将自定义函数作用于DataFrame的所有元素。他们通常也与匿名函数lambda 一起使用。df 数量. apply ( Lambda x: x+1)输出:姓名数量姓名数量0虹11李四2230 5SH 21李四 3文本数据操作在对文本型的数据进行处理时,我们会大量应用字符串的函数,来实现对一列文本数据进行操作。函数方法catcontainssta
4、rtswith/endswith用法释义字符串的拼接判断某个字符串是否包(判断某个字符串是否以.getIon获取指定位置的字计算字符串长月upper、 lower英文大小写转书pad/ccnter在字符串的左边、右边或左右方repeatslice_replacesplitstrip、 rslrip、 1strip重复字符串几z使用给定的字符串,替换指灯分割字符串,将一列扩去除空白符、换彳:用法释义函数方法findall利用正则表达式,去字符串中匹配,extract、 extract接受正则表达式,抽取匹配的字符all举例:df. insert (2,姓名,df 姓Lstr.cat(df 名se
5、p=)输出:姓 名0 王玉环1件克暗2宝清俊3王足博4朱五01234姓王仲王朱名三环免靖部忠考五姓名至清俊王启博朱五df 手机号码=df 手机号码. str. si ice_replace (3, 7, *4)输出:姓名 手机号码0 张三 138456955501 季四 157552203062 朱五 18648960203姓名 手机号码0 = 138*55501 季四 157*03062 耘 1860203df 地址.str. extract C (u4e00-u9fa5 +) )00 凉市1黑龙江省2 山东省输出:姓名地址0 3KH : dtam1李四棚黑龙江省2朱五22山东菅-行/列操作
6、数据清洗时,会将带空值的行删除,此时DataFrame或Series类型的数据不再是连续的索引,可以使用reset_index()重置索引。df. reset_index(drop=True)输出:rename。重命名用于更改行列的标签,即行列的索引。可以传入一个字典或者一个函数。在数据预处理中,比较常用。df. rename(columns= mark : sell, inplace=True)行列转置,我们可以使用T属性获得转置后的DataFrameodf - T输出:删除行列,可以使用dropOodf. drop(columns=mark)输出:数据分析师在进行数据处理时经常会遇到长宽表
7、互转的情况,这也是一道常见的数据分析面试题。melt ()方法可以将宽表转长表,即表格型数据转为树形数据。df. melt (id vars=姓名,var name二科目,value name二成绩)输出:pivot ()方法可以将长表转宽表,即树形数据转为表格型数据。df. pivot (index=姓名,columns=,科目,values=成绩)输出:pivol()其实就是用 sct_indox ()创建层次化索引,再用unstack。重塑df 1. set index (姓名,科目). unstack (科目)数据分组与数据透视表更是一个常见的需求,groupby()方法可以用于数据分
8、组。df. groupby (科目).mean ()由于pivot_tablc()数据透视表的参数比较多,就不再使用案例来演示了,具体用法可参考下图。数据筛选如果是筛选行列的话,通常有以下几种方法:有时我们需要按条件选择部分列、部分行,一般常用的方法有:操作语法返回结果选择列dfcolSeries按索引选择行df. loclabelSeries按数字索引选择行df. iloclocSeries使用切片选择行df:5DataFrame用表达式筛选行dfbool vecDataFrame除此以外,还有很多方法/函数可以用于“数据筛选”。如果想直接筛选包含特定字符的字符串,可以使用contains。
9、这个方法。例如,筛选户籍地址列中包含“黑龙江”这个字符的所有行。df df 户籍地址.str. contains (黑龙江)query。查询方法也可以用来筛选数据,比如查询“语文”成绩大于“数学”成绩的行记录。df. query (语文 英语)输出:姓名语文数学英语0张三1501301401李四122921322朱五15513590姓名语文数学英语0 张三 150 130 1402 朱五 155 13590select_dtypes()方法可用于筛选某些数据类型的变量或列。举例,我们仅选择具有数据类型int64,的列。df. select dtypes (int64)语文数学英语0 150 130 1401 122921322 155 13590输出:姓名语文数学英语0张三1501301401季四122921322朱五15513590i sin ()接受一个列表,判断该列中元素是否在列表中。name_list