超全的100个Pandas函数汇总
bigegpt 2024-12-05 09:44 5 浏览
上次分享了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() | 元素排重 |
相关推荐
- 悠悠万事,吃饭为大(悠悠万事吃饭为大,什么意思)
-
新媒体编辑:杜岷赵蕾初审:程秀娟审核:汤小俊审签:周星...
- 高铁扒门事件升级版!婚宴上‘冲喜’老人团:我们抢的是社会资源
-
凌晨两点改方案时,突然收到婚庆团队发来的视频——胶东某酒店宴会厅,三个穿大红棉袄的中年妇女跟敢死队似的往前冲,眼瞅着就要扑到新娘的高额钻石项链上。要不是门口小伙及时阻拦,这婚礼造型团队熬了三个月的方案...
- 微服务架构实战:商家管理后台与sso设计,SSO客户端设计
-
SSO客户端设计下面通过模块merchant-security对SSO客户端安全认证部分的实现进行封装,以便各个接入SSO的客户端应用进行引用。安全认证的项目管理配置SSO客户端安全认证的项目管理使...
- 还在为 Spring Boot 配置类加载机制困惑?一文为你彻底解惑
-
在当今微服务架构盛行、项目复杂度不断攀升的开发环境下,SpringBoot作为Java后端开发的主流框架,无疑是我们手中的得力武器。然而,当我们在享受其自动配置带来的便捷时,是否曾被配置类加载...
- Seata源码—6.Seata AT模式的数据源代理二
-
大纲1.Seata的Resource资源接口源码2.Seata数据源连接池代理的实现源码3.Client向Server发起注册RM的源码4.Client向Server注册RM时的交互源码5.数据源连接...
- 30分钟了解K8S(30分钟了解微积分)
-
微服务演进方向o面向分布式设计(Distribution):容器、微服务、API驱动的开发;o面向配置设计(Configuration):一个镜像,多个环境配置;o面向韧性设计(Resista...
- SpringBoot条件化配置(@Conditional)全面解析与实战指南
-
一、条件化配置基础概念1.1什么是条件化配置条件化配置是Spring框架提供的一种基于特定条件来决定是否注册Bean或加载配置的机制。在SpringBoot中,这一机制通过@Conditional...
- 一招解决所有依赖冲突(克服依赖)
-
背景介绍最近遇到了这样一个问题,我们有一个jar包common-tool,作为基础工具包,被各个项目在引用。突然某一天发现日志很多报错。一看是NoSuchMethodError,意思是Dis...
- 你读过Mybatis的源码?说说它用到了几种设计模式
-
学习设计模式时,很多人都有类似的困扰——明明概念背得滚瓜烂熟,一到写代码就完全想不起来怎么用。就像学了一堆游泳技巧,却从没下过水实践,很难真正掌握。其实理解一个知识点,就像看立体模型,单角度观察总...
- golang对接阿里云私有Bucket上传图片、授权访问图片
-
1、为什么要设置私有bucket公共读写:互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可...
- spring中的资源的加载(spring加载原理)
-
最近在网上看到有人问@ContextConfiguration("classpath:/bean.xml")中除了classpath这种还有其他的写法么,看他的意思是想从本地文件...
- Android资源使用(android资源文件)
-
Android资源管理机制在Android的开发中,需要使用到各式各样的资源,这些资源往往是一些静态资源,比如位图,颜色,布局定义,用户界面使用到的字符串,动画等。这些资源统统放在项目的res/独立子...
- 如何深度理解mybatis?(如何深度理解康乐服务质量管理的5个维度)
-
深度自定义mybatis回顾mybatis的操作的核心步骤编写核心类SqlSessionFacotryBuild进行解析配置文件深度分析解析SqlSessionFacotryBuild干的核心工作编写...
- @Autowired与@Resource原理知识点详解
-
springIOCAOP的不多做赘述了,说下IOC:SpringIOC解决的是对象管理和对象依赖的问题,IOC容器可以理解为一个对象工厂,我们都把该对象交给工厂,工厂管理这些对象的创建以及依赖关系...
- java的redis连接工具篇(java redis client)
-
在Java里,有不少用于连接Redis的工具,下面为你介绍一些主流的工具及其特点:JedisJedis是Redis官方推荐的Java连接工具,它提供了全面的Redis命令支持,且...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- logstashinput (65)
- hadoop端口 (65)
- vue阻止冒泡 (67)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)