精选22个Pandas函数!

今天从26个字母中精选出22个Pandas常用的函数,将它们的使用方法简单介绍给大家,详细内容可以查看官网学习。

import pandas as pd
import numpy as np

apply函数

Pandas中一个很实用的函数,下面模拟了一份数据:

6812fedb7fd1d33f52576cdc6d7d9941.png

我们分别将python的内置函数、自定义函数、匿名函数传给apply函数:

20a624f69751f642ce1a96197872139c.png 8fe17f701f25a548a39b04545147ce0d.png

使用Python的匿名函数来进行传递:

f7282aaae74685c057e2fe991f370804.png

between_time

start_time, 
end_time, 
include_start=NoDefault.no_default,
include_end=NoDefault.no_default, 
inclusive=None, 
axis=None

来自官网的案例:

eac4c3fddd374e7398e244002d453eb4.png

如果在参数中,开始时间大于结束时间,则会呈现不同的结果:

3445dc132ae3a8510ba95b794066c1fc.png

contains函数

针对Series中的包含字符信息:

4985b68f9eb5b6fd1f78e27b07b8980f.png

drop_duplicates函数

删除数据中的重复值;可以选择根据某个或者多个字段来删除。

在删除数据的时候,默认保留的是第一条重复的数据,我们可以通过参数keep来指定保留最后一条

1cfbabaef89cadde1ac730baa8d09843.png

expanding函数

这是一个窗口函数,实现的是一种类似累计求和的功能

DataFrame.expanding(
  min_periods=1, 
  center=None, 
  axis=0, 
  method='single')
  • min_periods:每个窗口最少包含的观测值数量,小于该数量的窗口结果为NA。值可以是int,默认None。offset情况下,默认为1

  • center:把窗口的标签设置为居中,布尔型,默认False,居右

  • axis:默认为0,对列进行计算

  • method:single或者table

模拟了一份数据:

997d7fb1e21a3f3f4616961e1460bd54.png

分别指定1-2-3不同的窗口数:

8b11fd7e0cfa599eb00373d827ab503c.png

我们发现:当窗口数大于前面的记录数,则累计和用NaN表示

filter函数

用来进行数据的过滤操作

  • items:表示包含的字段

  • regex:表示使用正则

7eeafea3645de25dc1d08d0ea2ce2186.png 6cb6555fcf363c07afd632395de73aba.png

ge函数

进行比较的一个函数:ge表示greater equal

ac376c33a08dd88cd177de4c0dccbc97.png

hist函数

pandas内置的绘制直方图的函数

df4 = pd.DataFrame({
    'length': [1.5, 0.5, 1.2, 0.9, 3],
    'width': [0.7, 0.2, 0.15, 0.2, 1.1]
    }, index=['pig', 'rabbit', 'duck', 'chicken', 'horse'])

hist = df4.hist(bins=3)
e34b5e405146fdf3bc1f74a71d6fef14.png

iterrows函数

iterrows函数用于对DataFrame进行迭代循环

2adccf83f443c60312241ba9ce160673.png

join函数

join函数用于合并不同的DataFrame

9c1bfcb15fe50eac4a495a11ebd8014a.png 9b9d7652ac807616565c31382bda35cf.png

kurtosis函数

用于查找一组数据中的峰度值

kurtosis(axis=index(0) or columns(1), 
         skipna=True, 
         level=None, 
         numeric_only=None, 
         **kwargs)
  • axis:要应用的函数的轴。

  • skipna:计算结果时排除NA /null值。

  • level:如果轴是MultiIndex(分层),则沿特定级别计数,并折叠成标量。

  • numeric_only:仅包括float,int,boolean列。

  • **kwargs:要传递给函数的其他关键字参数

7f2483275d2fec92c2327122eb210cdc.png

如果给定的数据中存在缺失值,可以使用参数skipna直接跳过:

s1 = pd.Series([10,None,16,14,30,None])
s1
0    10.0
1     NaN
2    16.0
3    14.0
4    30.0
5     NaN
dtype: float64
s1.kurtosis(skipna=True)

2.646199227619398

last函数

这是一个用在基于时间数据选择上的函数

i = pd.date_range('2018-04-09', # 起始日期
                  periods=4,  # 周期
                  freq='2D')  # 频率、间隔
i
DatetimeIndex(['2018-04-09', '2018-04-11', '2018-04-13', '2018-04-15'], dtype='datetime64[ns]', freq='2D')
c682d07331180d00ad3ab08fad5b48c4.png

注意:在这里返回的日历中3个日的数据,而不是数据中的3行记录。13-14-15刚好是3天

max/min/mean/median

4个基于统计概念的函数:最大值、最小值、均值、中位数

a15922bb18767229f0377bbb902cd817.png

nlargest函数

选择前n个的数据,其语法如下:

nlargest(n, columns, keep='first')
  • n:整数

  • columns:根据一个或者多个字段筛选

  • keep:选择first、last、all;默认是first

下面的例子来自官网:

df7 = pd.DataFrame({
  'population': [59000000, 65000000, 434000,434000, 
                 434000, 337000, 11300,11300, 11300],
  'GDP': [1937894, 2583560 , 12011, 4520, 
          12128,17036, 182, 38, 311],
  'alpha-2': ["IT", "FR", "MT", "MV", "BN",
              "IS", "NR", "TV", "AI"]},
  index=["Italy", "France", "Malta",
         "Maldives", "Brunei", "Iceland",
         "Nauru", "Tuvalu", "Anguilla"])
# 记录每个国家的人口数、GDP和名称2位大写
df7
b1854cd357a2eb4e3c8a41653890ab98.png

keep参数在不同取值下的结果:

dd64eec68d20998b17a32e39179a1dcc.png

pop函数

表示删除某个属性或者字段信息

60f7680edda6d4f1ff63c1ed02ec2e1a.png

quantile函数

quantile就是分位数的意思,函数具体的语法规则为:

DataFrame.quantile(
    q=0.5,  
    axis=0, 
    numeric_only=True,
    interpolation=’linear’)
  • q : 数字或者是类列表,范围只能在0-1之间,默认是0.5,即中位数-第2四分位数

  • axis :计算方向,0-index, 1-columns,默认为 0

  • numeric_only:只允许是数值型数据

  • interpolation(插值方法):可以是 {‘linear’, ‘lower’, ‘higher’, ‘midpoint’, ‘nearest’}之一,默认是linear。

fabcdc2f650bebb8865e284d13c887a5.png

reset_index函数

reset就是重置的含义,index就是行索引;连起来就是重置行索引

df9 = pd.DataFrame({"fruit":["苹果","香蕉","橙子","橙子","苹果","橙子"],
                   "amount":[100,200,130,150,88,40]})
df9
e5a85faa8c233148d0d448d09fa3ab2f.png

当我们统计每种水果的总销售额,是否使用reset_index函数的不同效果:

cfbdc4fc60f6b3644ab4e4202dddd400.png

select_dtypes函数

根据字段类型来筛选数据,可以包含或者排除一个或者多个字段类型的数据。

下面是官网的案例,稍作修改:生成了3个不同数据类型的字段

33161d7a7d10f551604a32ab4dca4d1d.png

1、包含字段类型

950db5d466adbd966996974b6831097b.png

2、排除字段类型

e51ce56cf92ef4cb016b63bf4bebb3a6.png

take函数

也是选择数据的一个函数,具体语法为:

take(indices, axis=0, is_copy=None, **kwargs)
  • indices:选择位置:数组或者切片

  • axis:选择的轴,0-index,1-column,默认是0

  • is_copy:是否返回副本;从Pandas1.0开始

5783a6fc488a0e7aa365c6d3c9d230af.png

下面是多个例子:

a077dfaeece88658d35a22d8025f0965.png 291f484da34acfd40fddc085c48401fd.png

以第一个例子来解释,指定数据的记录为0和4。表示取出df10中的第1条和第5条数据(索引从0开始),而不是看我们自定义的索引号。

update函数

更新某个DataFrame数据框;模拟两个数据:

5c82784a64ed86b6333ac58cb2454dc5.png

第一次更新的结果:

73b67100e0f66d10fc927c17cf075108.png

如果用于更新的数据中存在空值,则保持原来的数据不变

2d70c0d09264b18aff27e160f105edcd.png

var函数

用于求一组数据的方差

fc4ca07125c111109001397649f0271e.png

where函数

用于查找满足条件的数据

w = pd.Series(range(5))
w
0    0
1    1
2    2
3    3
4    4
dtype: int64
# 满足条件的显示;不满足的用空值代替
w.where(w>=2)
0    NaN
1    NaN
2    2.0
3    3.0
4    4.0
dtype: float64
# 不满足的用8替代
w.where(w>=2, 8)
0    8  # 8代替
1    8
2    2
3    3
4    4
dtype: int64

END -

 
 
对比Excel系列图书累积销量达15w册,让你轻松掌握数据分析技能,可以在全网搜索书名进行了解选购:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值