探索数值分析的奥秘:掌握NumPy与Pandas基础

 

 新书上架~👇全国包邮奥~

python实用小工具开发教程icon-default.png?t=N7T8http://pythontoolsteach.com/3

 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~

目录

一、NumPy:数值计算的效率提升器

二、Pandas:数据处理与分析的利器

三、实战演练:NumPy与Pandas的联合应用


一、NumPy:数值计算的效率提升器

在数据分析与科学计算的世界里,NumPy是一个不可或缺的工具。通过NumPy,我们可以轻松创建和操作多维数组,提高数值计算的效率。从数组的基本操作到高级统计分析,NumPy都为我们提供了丰富的功能。

  • 创建数组:NumPy提供了多种创建数组的方法,如使用numpy.array()从现有数据创建,或者使用numpy.zeros(), numpy.ones(), numpy.eye()等函数创建特定类型的数组。
  • 数组操作:NumPy支持各种数组级别的运算,如元素级运算、广播机制下的运算等,大大简化了数值计算的过程。
  • 统计分析:NumPy还提供了丰富的统计函数,如求均值、标准差、方差等,帮助我们更好地理解数据分布。

二、Pandas:数据处理与分析的利器

Pandas是基于NumPy构建的一个数据分析库,它提供了数据结构和分析工具,使数据处理变得更加简单高效。无论是数据清洗、转换还是可视化,Pandas都能帮助我们轻松完成。

  • 数据结构:Pandas提供了两种主要的数据结构——DataFrame和Series,它们分别用于存储表格型数据和一维数组型数据。
  • 数据操作:Pandas提供了丰富的数据操作功能,如数据选择、排序、分组、连接等,使我们能够轻松地进行数据处理。
  • 数据可视化:Pandas还支持与各种可视化库(如Matplotlib、Seaborn等)的集成,使我们能够轻松地将数据转化为图表,更直观地展示数据。

三、实战演练:NumPy与Pandas的联合应用

    NumPy和Pandas是Python数据分析中非常重要的两个库。NumPy提供了高效的数值计算能力,而Pandas则提供了强大的数据处理和分析功能。下面,我们将通过一个实战演练来展示NumPy与Pandas的联合应用。

    假设我们有一个数据集,包含了某公司员工的工资信息,包括员工ID、姓名、部门、基本工资、奖金等字段。我们将使用这个数据集来进行一系列的数据处理和分析。

    首先,我们需要导入NumPy和Pandas库,并读取数据集:

import numpy as np  
import pandas as pd  # 读取CSV文件  
data = pd.read_csv('employee_salary.csv')

    接下来,我们可以使用Pandas对数据进行一些基本的处理,比如查看数据的前几行、描述性统计等:

# 查看数据的前5行  
print(data.head())  # 查看数据的描述性统计信息  
print(data.describe())

    现在,假设我们想要对数据集进行一些更复杂的处理。比如,我们想要计算每个部门的平均工资和最高工资,并将结果按照工资从高到低排序。这可以通过Pandas的分组(groupby)和聚合(agg)功能来实现:

# 按照部门分组,并计算平均工资和最高工资  
department_stats = data.groupby('部门')[['基本工资', '奖金']].agg(['mean', 'max'])  # 将结果按照平均工资从高到低排序  
department_stats_sorted = department_stats.sort_values(('基本工资', 'mean'), ascending=False)  print(department_stats_sorted)

    接下来,我们可以使用NumPy来进行一些数值计算。比如,我们想要计算所有员工的总工资(基本工资+奖金)的标准差:

# 计算总工资列  
data['总工资'] = data['基本工资'] + data['奖金']  # 使用NumPy计算标准差  
std_dev = np.std(data['总工资'])  print(f"总工资的标准差为: {std_dev}")

    最后,我们可以使用Pandas和NumPy联合进行更复杂的数据分析。比如,我们想要找出总工资高于平均工资加一倍标准差的员工:

# 计算平均工资和标准差  
mean_salary = data['总工资'].mean()  
std_salary = data['总工资'].std()  # 找出总工资高于平均工资加一倍标准差的员工  
high_salary_employees = data[data['总工资'] > mean_salary + std_salary]  print(high_salary_employees)

    这个实战演练展示了NumPy与Pandas的联合应用,在数据处理和分析中发挥了强大的作用。通过这两个库的联合使用,我们可以轻松地进行数据清洗、转换、聚合和数值计算等操作。 

 非常感谢您花时间阅读我的博客,希望这些分享能为您带来启发和帮助。期待您的反馈与交流,让我们共同成长,再次感谢!

👇热门内容👇 

python使用案例与应用_安城安的博客-CSDN博客

软硬件教学_安城安的博客-CSDN博客

Orbslam3&Vinsfusion_安城安的博客-CSDN博客

网络安全_安城安的博客-CSDN博客

教程_安城安的博客-CSDN博客

python办公自动化_安城安的博客-CSDN博客

👇个人网站👇

安城安的云世界

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/14204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux文本三剑客之sed

set的定义: sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。 sed的执行过程&a…

Nextjs 动态路由获取参数

目录 一、创建page目录下的路由文件 二、通过useRouter来获取动态参数 先看官方文档:Routing: Dynamic Routes | Next.js 使用Nextjs13版本参考官方文档后实现仍有问题,网上的材料大多和官网一致,经过测试后,我找到了这个解决方…

【日记】今天好困(407 字)

正文 4T 硬盘降价了,好心动。虽然只降了 10 块钱……. 为什么硬盘这么贵啊!哼。 柜面上杂事好多。虽然一天到晚见不到几个客户,但杂事就是很多。一个头两个大。也不知道从哪儿冒出来的这么多事。 芒果干到了!还没去取,…

sql把一个表的某几列的数据存到另一个表里

一.如何用slq语句把一个表中的某几个字段的数据插入到另一个新表中,就要用下面这条slq语句: insert into 表名1(字段1,字段2) select 字段1,字段2 from 表名2 这里有一点值得注意的是这2个字段要一一对应,并且按顺序。 二.如果另一个表是…

JAVASE之类和对象(1)

路虽远,行则将至;事虽难,做则必成。 主页:趋早——Step 专栏:JAVASE gitte:https://gitee.com/good-thg 引言: 这篇文章我们只介绍前半部分,下一篇文章会介绍剩下的部分。 目录 一、…

LeetCode 面试150

最近准备面试,我以前不愿意面对的 现在保持一颗本心,就是专注于算法思想,语言基础的磨炼; 不为速成,不急功近利的想要比赛,或者为了面试。 单纯的本心,体验算法带来的快乐,是一件非常…

Python操作MySQL数据库的工具--sqlalchemy

文章目录 一、pymysql和sqlalchemy的区别二、sqlalchemy的详细使用1.安装库2.核心思想3.整体思路4.sqlalchemy需要连接数据库5.使用步骤1.手动提前创建数据库2.使用代码创建数据表3.用代码操作数据表3.1 增加数据3.2 查询数据3.3 删除数据3.4 修改数据 一、pymysql和sqlalchemy…

2025秋招深度学习基础面试题(一)

01. 卷积和BN如何融合提升推理速度 Conv和BN的融合:在网络的推理阶段,可以将BN层的运算融合到Conv层中,减少运算量,加速推理。本质上是修改了卷积核的参数,在不增加Conv层计算量的同时,略去了BN层的计算量。def fuse_conv_bn(conv, bn):std = (bn.running_var + bn.eps).…

数据仓库、数据中台、大数据平台之间的关系

数据行业经常会出现数据仓库、数据中台、大数据平台等概念,容易产生疑问,它们中间是相等,还是包含的关系? 数据中台和数据仓库概念的关系 数据中台概念是包含数据仓库的,数据仓库是数据中台中的一部分,包含…

探索Facebook:数字社交的新时代

Facebook,作为全球最大的社交网络平台之一,一直在引领着数字社交的发展潮流。随着科技的不断进步和社会的不断变迁,Facebook也在不断演进和创新,迎接着数字社交的新时代。本文将探索Facebook在数字社交领域的新发展,以…

Behind the Code:Polkadot 如何重塑 Web3 未来

2024 年 5 月 17 日 Polkadot 生态 Behind the Code 第二季第一集 《创造 Web3 的未来》正式上线。第一集深入探讨了 Polkadot 和 Web3 技术在解决数字身份、数据所有权和去中心化治理方面的巨大潜力。 🔍 查看完整视频: https://youtu.be/_gP-M5nUidc?…

抖音视频怎么去水印保存部分源码|短视频爬虫提取收集下载工具

抖音视频怎么去水印保存部分源码|短视频爬虫提取收集下载工具 抖音视频去水印保存部分源码: 通过使用Python中的requests、re和os等库,可以编写如下代码来实现抖音视频去水印保存的功能。 短视频爬虫提取手机下载工具的使用方法: 该工具主…

BevDet-4d(2): 环境安装及效果展示

1. 环境安装 conda create -n bevdet python=3.8 conda activate bevdet ​ # 3 虚拟环境bevdet中安装torch pip install spconv pip install torch==1.10.0+cu113 torchvision==0.11.0+cu113 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch

【数理统计02】延森Jensen‘s不等式的证明

延森不等式(Jensen’s Inequality)是凸函数理论中的一个重要结果,广泛应用于概率论、统计学和优化理论等领域。这个不等式的基本形式是: 对于一个凸函数 f f f和一个随机变量 X X X,如果 E [ X ] \mathbb{E}[X] E[X]存…

安科瑞为河南省促进分布式光伏发电健康持续发展提供解决方案

1 光伏、储能运维市场分析 在光伏、储能行业飞速发展的同时,已建的光伏、风力发电站和储能系统的监控、运维管理项目的招标也非常多,2023年上半年,光伏电站开发企业运维招标规模28.6GW,同比增长204.3%,上述28.6GW招标…

Blender导出fbx模型,导入到ue5中模型丢失纹理材质

UE5系列文章目录 文章目录 UE5系列文章目录前言一、问题原因二、最终效果 前言 Blender导出fbx模型,导入到ue5中,发现模型丢失纹理材质,里面的原神人物模型妮露居然是白模,郁闷了大半天 一、问题原因 我在Blender导出fbx文件时…

【Python】全局变量与init的区别

一个脚本里,设置全局变量,和初始化类时__init__中加载,有什么区别? 在Python脚本中,使用全局变量和在类的__init__方法中加载数据有几个关键区别: 作用域: 全局变量:全局变量在整个…

C中十进制转十六进制示例

uint8_t QR_code_RxBfr[255]{0}; uint8_t TouchCode[100];memcpy (&Sys.TouchCode[0], &QR_code_RxBfr[0], Sys.QR_code_Len);Str &Sys.TouchCode[TmpVble];Sys.Card_ID 0; while(0 ! isdigit(*Str)){Sys.Card_ID Sys.Card_ID*10 *Str - 0;Str;} 最后在通过以下…

嵌入式科普(18)Ubuntu在移动硬盘的安装和启动

目录 一、概述 二、应用场景 三、移动硬盘安装Ubuntu 3.1 移动硬盘格式化 3.2 VMware安装Ubuntu到移动硬盘 四、电脑BIOS启动移动硬盘Ubuntu 五、从VMware启动移动硬盘Ubuntu 六、问题解决(坑)和思考提问 嵌入式科普(18)Ubuntu在移动硬盘的安装和启动 一、概述 在移动硬…

在R中赞扬下努力工作的你,奖励一份CheetShet

传说有个R,R里有个包,包的名字叫praise,会一直不停地夸赞你。 > praise() [1] "You are sensational!" > praise() [1] "You are luminous!" > praise() [1] "You are pioneering!" > praise() […