0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

盘点Pandas的100个常用函数

数据分析与开发 来源:数据分析1480 作者:刘顺祥 2021-04-01 09:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

经过一段时间的整理,本期将分享我认为比较常规的100个实用函数,这些函数大致可以分为六类,分别是统计汇总函数、数据清洗函数、数据筛选、绘图与元素级运算函数、时间序列函数和其他函数。

一、统计汇总函数数据分析过程中,必然要做一些数据的统计汇总工作,那么对于这一块的数据运算有哪些可用的函数可以帮助到我们呢?具体看如下几张表。

96410908-9247-11eb-8b86-12bb97331649.png

96624186-9247-11eb-8b86-12bb97331649.png

import pandas as pd import numpy as np x = pd.Series(np.random.normal(2,3,1000)) y = 3*x + 10 + pd.Series(np.random.normal(1,2,1000)) # 计算x与y的相关系数 print(x.corr(y)) # 计算y的偏度 print(y.skew()) # 计算y的统计描述值 print(x.describe()) z = pd.Series([‘A’,‘B’,‘C’]).sample(n = 1000, replace = True) # 重新修改z的行索引 z.index = range(1000) # 按照z分组,统计y的组内平均值 y.groupby(by = z).aggregate(np.mean)

968a6328-9247-11eb-8b86-12bb97331649.png

96a9b8b8-9247-11eb-8b86-12bb97331649.jpg

# 统计z中个元素的频次 print(z.value_counts()) a = pd.Series([1,5,10,15,25,30]) # 计算a中各元素的累计百分比 print(a.cumsum() / a.cumsum()[a.size - 1])

96cea812-9247-11eb-8b86-12bb97331649.png

二、数据清洗函数同样,数据清洗工作也是必不可少的工作,在如下表格中罗列了常有的数据清洗的函数。

96e2916a-9247-11eb-8b86-12bb97331649.jpg

x = pd.Series([10,13,np.nan,17,28,19,33,np.nan,27]) #检验序列中是否存在缺失值 print(x.hasnans) # 将缺失值填充为平均值 print(x.fillna(value = x.mean())) # 前向填充缺失值 print(x.ffill())

96f12176-9247-11eb-8b86-12bb97331649.png

96f9eba8-9247-11eb-8b86-12bb97331649.png

income = pd.Series([‘12500元’,‘8000元’,‘8500元’,‘15000元’,‘9000元’]) # 将收入转换为整型 print(income.str[:-1].astype(int)) gender = pd.Series([‘男’,‘女’,‘女’,‘女’,‘男’,‘女’]) # 性别因子化处理 print(gender.factorize()) house = pd.Series([‘大宁金茂府 | 3室2厅 | 158.32平米 | 南 | 精装’, ‘昌里花园 | 2室2厅 | 104.73平米 | 南 | 精装’, ‘纺大小区 | 3室1厅 | 68.38平米 | 南 | 简装’]) # 取出二手房的面积,并转换为浮点型 house.str.split(‘|’).str[2].str.strip().str[:-2].astype(float)

9740314e-9247-11eb-8b86-12bb97331649.png

三、数据筛选数据分析中如需对变量中的数值做子集筛选时,可以巧妙的使用下表中的几个函数,其中部分函数既可以使用在序列身上,也基本可以使用在数据框对象中。

976a23fa-9247-11eb-8b86-12bb97331649.png

np.random.seed(1234) x = pd.Series(np.random.randint(10,20,10)) # 筛选出16以上的元素 print(x.loc[x 》 16]) print(x.compress(x 》 16)) # 筛选出13~16之间的元素 print(x[x.between(13,16)]) # 取出最大的三个元素 print(x.nlargest(3)) y = pd.Series([‘ID:1 name:张三 age:24 income:13500’, ‘ID:2 name:李四 age:27 income:25000’, ‘ID:3 name:王二 age:21 income:8000’]) # 取出年龄,并转换为整数 print(y.str.findall(‘age:(d+)’).str[0].astype(int))

97983e3e-9247-11eb-8b86-12bb97331649.png

四、绘图与元素级函数

97adf68e-9247-11eb-8b86-12bb97331649.png

np.random.seed(123) import matplotlib.pyplot as plt x = pd.Series(np.random.normal(10,3,1000)) # 绘制x直方图 x.hist() # 显示图形 plt.show() # 绘制x的箱线图 x.plot(kind=‘box’) plt.show() installs = pd.Series([‘1280万’,‘6.7亿’,‘2488万’,‘1892万’,‘9877’,‘9877万’,‘1.2亿’]) # 将安装量统一更改为“万”的单位 def transform(x): if x.find(‘亿’) != -1: res = float(x[:-1])*10000 elif x.find(‘万’) != -1: res = float(x[:-1]) else: res = float(x)/10000 return res installs.apply(transform)

97fc5bbc-9247-11eb-8b86-12bb97331649.png

981dfbdc-9247-11eb-8b86-12bb97331649.png

983ede6a-9247-11eb-8b86-12bb97331649.png

五、时间序列函数

98644f1a-9247-11eb-8b86-12bb97331649.png

987f2696-9247-11eb-8b86-12bb97331649.png

98daee0e-9247-11eb-8b86-12bb97331649.png

六、其他函数

9912aa10-9247-11eb-8b86-12bb97331649.png

import numpy as np import pandas as pd np.random.seed(112) x = pd.Series(np.random.randint(8,18,6)) print(x) # 对x中的元素做一阶差分 print(x.diff()) # 对x中的元素做降序处理 print(x.sort_values(ascending = False)) y = pd.Series(np.random.randint(8,16,100)) # 将y中的元素做排重处理,并转换为列表对象 y.unique().tolist()

9955e87a-9247-11eb-8b86-12bb97331649.png

9977d3ae-9247-11eb-8b86-12bb97331649.png

原文标题:100 个 pandas 数据分析函数总结

文章出处:【微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66819

原文标题:100 个 pandas 数据分析函数总结

文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    LUA例程-常用的回调函数使用说明

    详细说明LUA脚本函数功能和对应的应用实例。对于LUA脚本编程有很大的帮助和提高技能。
    发表于 11-24 16:43 0次下载

    资产盘点 “跑断腿”?RFID 无感盘点,1 天搞定全厂区

    资产盘点不是 “走过场”,而是摸清家底、降本增效的关键。RFID 无感盘点的价值,不止是 “1 天搞定全厂区” 的效率飞跃,更让资产管理从 “事后核对” 变成 “实时可控”。
    的头像 发表于 11-18 10:46 115次阅读
    资产<b class='flag-5'>盘点</b> “跑断腿”?RFID 无感<b class='flag-5'>盘点</b>,1 天搞定全厂区

    仓库盘点误差大总出错,咋整?试试智能盘点解决方法

    仓库盘点频繁账实不符?人工盘点误差高、效率低,还吃掉利润?RFID 智能盘点技术帮你解决!可以在2-25 米远距离批量读写,库存准确率飙升 99%+,盘点时间缩短一半,适配仓储物流、制
    的头像 发表于 11-05 11:56 166次阅读
    仓库<b class='flag-5'>盘点</b>误差大总出错,咋整?试试智能<b class='flag-5'>盘点</b>解决方法

    RFID标签在库存盘点中的应用

    RFID技术在库存盘点中的应用正变得越来越广泛,其通过无线电信号识别特定目标并读取相关数据的能力,极大地提高了库存管理的效率与准确性。以下是RFID标签在库存盘点中的一些具体应用和优势:1.快速盘点
    的头像 发表于 09-03 15:42 417次阅读
    RFID标签在库存<b class='flag-5'>盘点</b>中的应用

    大彩讲堂:VisualHMI-LUA教程-on_press回调函数使用指南

    屏幕会触发回调函数100ms回调一次)•state:0-弹起、1-按下、2-长按•x:按下时X轴坐标•y:按下时Y轴坐标触摸回调函数常用于做自定义待机逻辑,搭配
    的头像 发表于 07-23 16:32 919次阅读
    大彩讲堂:VisualHMI-LUA教程-on_press回调<b class='flag-5'>函数</b>使用指南

    精准盘点,无忧管理——RFID智能盘点终端解析

    RFID智能盘点终端高效、精准,利用RFID技术实现快速批量识别,实时更新数据,确保库存信息准确无误。其轻便易携设计及简洁操作界面使盘点工作轻松便捷。此外,该终端具有高可靠性,适用于各种环境,为企业带来高效、精准的盘点体验。
    的头像 发表于 07-14 14:17 368次阅读

    MSP430常用内联函数说明

    电子发烧友网站提供《MSP430常用内联函数说明.docx》资料免费下载
    发表于 06-05 17:20 0次下载

    盘点风光互补太阳能智慧路灯的10大优点

    盘点风光互补太阳能智慧路灯的10大优点
    的头像 发表于 05-12 09:52 1035次阅读
    <b class='flag-5'>盘点</b>风光互补太阳能智慧路灯的10大优点

    FPC标签在盘点中的应用

    RFID是一种通过无线电信号识别特定目标并读取相关数据的技术。与传统的条形码技术相比,RFID技术具有显著的优势,如远距离读取、存储更多信息以及更高的准确性和可靠性RFID在库存盘点中的具体应用1.
    的头像 发表于 05-09 15:21 393次阅读
    FPC标签在<b class='flag-5'>盘点</b>中的应用

    为什么不需要给回调函数传递参数

    回调函数是C语言里面一重要机制。
    的头像 发表于 04-15 10:11 620次阅读

    函数指针的六常见应用场景

    函数指针在嵌入式开发中有着广泛的应用,它让代码更加灵活,减少冗余,提高可扩展性。很多时候,我们需要根据不同的情况动态调用不同的函数,而函数指针正是实现这一需求的重要工具。本文将介绍六
    的头像 发表于 04-07 11:58 1119次阅读
    <b class='flag-5'>函数</b>指针的六<b class='flag-5'>个</b>常见应用场景

    详解RTOS中的Hook函数

    Hook函数是RTOS中的一关键特性,通过该函数,用户可以增强对任务管理的控制,定义系统行为。
    的头像 发表于 03-24 16:14 828次阅读

    39常用外围硬件电路设计

    本文详细介绍了39常用外围硬件电路设计 获取完整文档资料可下载附件哦!!!!
    发表于 03-07 16:41

    大模型领域常用名词解释(近100

    本文总结了大模型领域常用的近100名词解释,并按照模型架构与基础概念,训练方法与技术,模型优化与压缩,推理与应用,计算与性能优化,数据与标签,模型评估与调试,特征与数据处理,伦理与公平性、其他
    的头像 发表于 02-19 11:49 1275次阅读
    大模型领域<b class='flag-5'>常用</b>名词解释(近<b class='flag-5'>100</b><b class='flag-5'>个</b>)

    西门子TIA Portal中函数FC和函数块FB的相互转换

    DC/DC/DC。 设置 IP 地址:192.168.0.1。 设置子网掩码:255.255.255.0。 第2步: 添加一函数 FC,命名为:MotorFC-FB,作为待转换的函数 FC,用
    的头像 发表于 01-15 10:07 3033次阅读
    西门子TIA Portal中<b class='flag-5'>函数</b>FC和<b class='flag-5'>函数</b>块FB的相互转换