百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

超全的100个Pandas函数汇总

liuian 2025-01-10 15:15 14 浏览

上次分享了10个使用频率非常高的Pandas函数,同学们都觉得很有用。今天,咱们继续~~

我整理了100个Pandas常用的函数,分别分为6类:统计汇总函数、数据清洗函数、数据筛选、绘图与元素级运算函数、时间序列函数和其他函数。赶紧收藏起来吧!

统计汇总函数

函数

含义

min()

计算最小值

max()

计算最大值

sum()

求和

mean()

计算平均值

count()

计数(统计非缺失元素的个数)

size()

计数(统计所有元素的个数)

median()

计算中位数

var()

计算方差

std()

计算标准差

quantile()

计算任意分位数

cov()

计算协方差

corr()

计算相关系数

skew()

计算偏度

kurt()

计算峰度

mode()

计算众数

describe()

描述性统计(一次性返回多个统计结果)

groupby()

分组

aggregate()

聚合运算(可以自定义统计函数)

argmin()

寻找最小值所在位置

argmax()

寻找最大值所在位置

any()

等价于逻辑“或”

all()

等价于逻辑“与”

value_counts()

频次统计

cumsum()

运算累计和

cumprod()

运算累计积

pct--_change()

运算比率(后一个元素与前一个元素的比率)

# describe函数总结数据集分布的集中趋势,分散和形状
import numpy as np
import pandas as pd
data = {'a':[12,13,14,15,11],'b':['a','b','c','d','c']}
df = pd.DataFrame(data)
df.describe() #默认返回数字字段
df.describe(include='all')

数据清洗函数

函数

含义

duplicated()

判断序列元素是否重复。

drop_duplicates()

删除重复值

hasnans()

判断序列是否存在缺失(返回TRUE或FALSE)

isnull()

判断序列元素是否为缺失(返回与序列长度一样的bool值)

notnull()

判断序列元素是否不为缺失(返回与序列长度一样的bool值)

dropna()

删除缺失值

fillna()

缺失值填充

ffill()

前向后填充缺失值(使用缺失值的前一个元素填充)

bfill()

后向填充缺失值(使用缺失值的后一个元素填充)

dtypes()

检查数据类型

astype()

类型强制转换

pd.to_datetime

转日期时间型

factorize()

因子化转换

sample()

抽样

where()

基于条件判断的值替换

replace()

按值替换(不可使用正则)

str.replace()

按值替换(可使用正则)

str.split.str()

字符分隔

import numpy as np
import pandas as pd
data = {'a':[12,13,14,15,12],'b':['a','b','c','d','c']}
df = pd.DataFrame(data)
df.duplicated('a')
df.drop_duplicates('a','first',inplace = True) #删除重复项并保留第一次出现的项
df

数据筛选函数

函数

含义

isin()

成员关系判断

between()

区间判断

loc()

条件判断(可使用在数据框中)

iloc()

索引判断(可使用在数据框中)

compress()

条件判断

nlargest()

搜寻最大的n个元素

nsmallest()

搜寻最小的n个元素

str.findall()

子串查询(可使用正则)

df = 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"])
df
df.nlargest(3, 'population') #搜寻“population”列中具有最大值的三行

绘图与元素级运算函数

函数

含义

hist()

绘制直方图

plot()

可基于kind参数绘制更多图形(饼图,折线图,箱线图等)

map()

元素映射

apply()

基于自定义函数的元素级操作

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt #使用 matplotlib 仅仅是用来 show 图片
df = pd.read_csv('forestfires.csv')
df.plot('temp','FFMC',kind = 'scatter',color='LightGreen') # scatter散点图
plt.show()

时间序列函数

函数

含义

dt.date()

抽取出日期值

dt.time()

抽取出时间(时分秒)

dt.year()

抽取出年

dt.mouth()

抽取出月

dt.day()

抽取出日

dt.hour()

抽取出时

dt.minute()

抽取出分钟

dt.second()

抽取出秒

dt.quarter()

抽取出季度

dt.weekday()

抽取出星期几(返回数值型)

dt.weekday_name()

抽取出星期几(返回字符型)

dt.week()

抽取出年中的第几周

dt.dayofyear()

抽取出年中的第几天

dt.daysinmonth()

抽取出月对应的最大天数

dt.is_month_start()

判断日期是否为当月的第一天

dt.is_month_end()

判断日期是否为当月的最后一天

dt.is_quarter_start()

判断日期是否为当季度的第一天

dt.is_quarter_end()

判断日期是否为当季度的最后一天

dt.is_year_start()

判断日期是否为当年的第一天

dt.is_year_end()

判断日期是否为当年的最后一天

dt.is_leap_year()

判断日期是否为闰年

其他函数

函数

含义

append()

序列元素的追加(需指定其他序列)

diff()

一阶差分

round()

元素的四舍五入

sort_values()

按值排序

sort_index()

按索引排序

to_dict()

转为字典

tolist()

转为列表

unique()

元素排重

相关推荐

vue怎么和后端php配合

Vue和后端PHP可以通过HTTP请求进行配合。首先,前端Vue可以使用axios库或者Vue自带的$http对象来发送HTTP请求到后端PHP接口。通过axios库发送POST、GET、PUT等请求...

Ansible最佳实践之 AWX 使用 Ansible 与 API 通信

#头条创作挑战赛#API简单介绍红帽AWX提供了一个类似Swagger的RESTful风格的Web服务框架,可以和awx直接交互。使管理员和开发人员能够在webUI之外控制其...

PHP8.3 错误处理革命:Exception 与 Error 全面升级

亲爱的小伙伴,好久没有发布信息了,最近学习了一下PHP8.3的升级,都有哪些优化和提升,把学到的分享出来给需要的小伙伴充下电。技术段位:高可用性必修目标收益:精准错误定位+异常链路追踪适配场景...

使用 mix/vega + mix/db 进行现代化的原生 PHP 开发

最近几年在javascript、golang生态中游走,发现很多npm、gomod的优点。最近回过头开发MixPHPV3,发现composer其实一直都是一个非常优秀的工具,但是...

15 个非常好用的 JSON 工具

JSON(JavaScriptObjectNotation)是一种流行的数据交换格式,已经成为许多应用程序中常用的标准。无论您是开发Web应用程序,构建API,还是处理数据,使用JSON工具可以大...

php8环境原生实现rpc

大数据分布式架构盛行时代的程序员面试,常常遇到分布式架构,RPC,本文的主角是RPC,英文名为RemoteProcedureCall,翻译过来为“远程过程调用”。主流的平台中都支持各种远程调用技术...

「PHP编程」如何搭建私有Composer包仓库?

在前一篇文章「PHP编程」如何制作自己的Composer包?中,我们已经介绍了如何制作自己的composer包,以及如何使用composer安装自己制作的composer包。不过,这其中有...

WAF-Bypass之SQL注入绕过思路总结

过WAF(针对云WAF)寻找真实IP(源站)绕过如果流量都没有经过WAF,WAF当然无法拦截攻击请求。当前多数云WAF架构,例如百度云加速、阿里云盾等,通过更改DNS解析,把流量引入WAF集群,流量经...

【推荐】一款 IDEA 必备的 JSON 处理工具插件 — Json Assistant

JsonAssistant是基于IntelliJIDEs的JSON工具插件,让JSON处理变得更轻松!主要功能完全支持JSON5JSON窗口(多选项卡)选项卡更名移动至主编辑器用...

技术分享 | 利用PHAR协议进行PHP反序列化攻击

PHAR(“PhpARchive”)是PHP中的打包文件,相当于Java中的JAR文件,在php5.3或者更高的版本中默认开启。PHAR文件缺省状态是只读的,当我们要创建一个Phar文件需要修改...

php进阶到架构之swoole系列教程(一)windows安装swoole

目录概述安装Cygwin安装swoolephp7进阶到架构师相关阅读概述这是关于php进阶到架构之swoole系列学习课程:第一节:windows安装swoole学习目标:在Windows环境将搭建s...

go 和 php 性能如何进行对比?

PHP性能很差吗?每次讲到PHP和其他语言间的性能对比,似乎都会发现这样一个声音:单纯的性能对比没有意义,主要瓶颈首先是数据库,其次是业务代码等等。好像PHP的性能真的不能单独拿出来讨论似的。但其实一...

Linux(CentOS )手动搭建LNMP(Linux+Nginx+Mysql+PHP)坏境

CentOS搭建LNMP(Linux+Nginx+Mysql+PHP)坏境由于网上各种版本新旧不一,而且Linux版本也不尽相同,所以自己写一遍根据官网的提示自己手动搭建过程。看官方文档很重要,永远...

json和jsonp区别

JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种非官方跨域数据交互协议。一个是描述信息的格式,一个是信息传递的约定方法。一、...

web后端正确的返回JSON

在web开发中,前端和后端发生数据交换传输现在最常见的形式就是异步ajax交互,一般返回给js都是json,如何才是正确的返回呢?前端代码想要获取JSON数据代码如下:$.get('/user-inf...