精选22个Pandas函数
又从26个字母中精选出22个Pandas常用的函数,将它们的使用方法简单介绍给大家,详细内容可以查看官网学习。其中o、y、z没有相应的函数,只有一个以x开头的函数。之前写过一篇文章,请参考:
精选23个Pandas常用函数
1 | import pandas as pd |
apply函数
Pandas中一个很实用的函数,下面模拟了一份数据:
我们分别将python的内置函数、自定义函数、匿名函数传给apply函数:
使用Python的匿名函数来进行传递:
between_time
1 | start_time, |
来自官网的案例:
如果在参数中,开始时间大于结束时间,则会呈现不同的结果:
contains函数
针对Series中的包含字符信息:
drop_duplicates函数
删除数据中的重复值;可以选择根据某个或者多个字段来删除。
在删除数据的时候,默认保留的是第一条重复的数据,我们可以通过参数keep来指定保留最后一条
expanding函数
这是一个窗口函数,实现的是一种类似累计求和的功能
1 | DataFrame.expanding( |
- min_periods:每个窗口最少包含的观测值数量,小于该数量的窗口结果为NA。值可以是int,默认None。offset情况下,默认为1
- center:把窗口的标签设置为居中,布尔型,默认False,居右
- axis:默认为0,对列进行计算
- method:single或者table
模拟了一份数据:
分别指定1-2-3不同的窗口数:
我们发现:当窗口数大于前面的记录数,则累计和用NaN表示
filter函数
用来进行数据的过滤操作
- items:表示包含的字段
- regex:表示使用正则
ge函数
进行比较的一个函数:ge表示greater equal
hist函数
pandas内置的绘制直方图的函数
1 | df4 = pd.DataFrame({ |
iterrows函数
iterrows函数用于对DataFrame进行迭代循环
join函数
join函数用于合并不同的DataFrame
kurtosis函数
用于查找一组数据中的峰度值
1 | kurtosis(axis=index(0) or columns(1), |
- axis:要应用的函数的轴。
- skipna:计算结果时排除NA /null值。
- level:如果轴是MultiIndex(分层),则沿特定级别计数,并折叠成标量。
- numeric_only:仅包括float,int,boolean列。
- **kwargs:要传递给函数的其他关键字参数
如果给定的数据中存在缺失值,可以使用参数skipna直接跳过:
1 | s1 = pd.Series([10,None,16,14,30,None]) |
1 | 0 10.0 |
1 | s1.kurtosis(skipna=True) |
last函数
这是一个用在基于时间数据选择上的函数
1 | i = pd.date_range('2018-04-09', |
1 | DatetimeIndex(['2018-04-09', '2018-04-11', '2018-04-13', '2018-04-15'], dtype='datetime64[ns]', freq='2D') |
注意:在这里返回的日历中3个日的数据,而不是数据中的3行记录。13-14-15刚好是3天
max/min/mean/median
4个基于统计概念的函数:最大值、最小值、均值、中位数
nlargest函数
选择前n个的数据,其语法如下:
1 | nlargest(n, columns, keep='first') |
- n:整数
- columns:根据一个或者多个字段筛选
- keep:选择first、last、all;默认是first
下面的例子来自官网:
1 | df7 = pd.DataFrame({ |
keep参数在不同取值下的结果:
pop函数
表示删除某个属性或者字段信息
quantile函数
quantile就是分位数的意思,函数具体的语法规则为:
1 | DataFrame.quantile( |
- q : 数字或者是类列表,范围只能在0-1之间,默认是0.5,即中位数-第2四分位数
- axis :计算方向,0-index, 1-columns,默认为 0
- numeric_only:只允许是数值型数据
- interpolation(插值方法):可以是 {‘linear’, ‘lower’, ‘higher’, ‘midpoint’, ‘nearest’}之一,默认是linear。
reset_index函数
reset就是重置的含义,index就是行索引;连起来就是重置行索引
1 | df9 = pd.DataFrame({"fruit":["苹果","香蕉","橙子","橙子","苹果","橙子"], |
当我们统计每种水果的总销售额,是否使用reset_index函数的不同效果:
select_dtypes函数
根据字段类型来筛选数据,可以包含或者排除一个或者多个字段类型的数据。
下面是官网的案例,稍作修改:生成了3个不同数据类型的字段
1、包含字段类型
2、排除字段类型
take函数
也是选择数据的一个函数,具体语法为:
1 | take(indices, axis=0, is_copy=None, **kwargs) |
- indices:选择位置:数组或者切片
- axis:选择的轴,0-index,1-column,默认是0
- is_copy:是否返回副本;从Pandas1.0开始
下面是多个例子:
以第一个例子来解释,指定数据的记录为0和4。表示取出df10中的第1条和第5条数据(索引从0开始),而不是看我们自定义的索引号。
update函数
更新某个DataFrame数据框;模拟两个数据:
第一次更新的结果:
如果用于更新的数据中存在空值,则保持原来的数据不变
var函数
用于求一组数据的方差
where函数
用于查找满足条件的数据
1 | w = pd.Series(range(5)) |
1 | 0 0 |
1 | # 满足条件的显示;不满足的用空值代替 |
1 | 0 NaN |
1 | # 不满足的用8替代 |
1 | 0 8 # 8代替 |