【数据分析专栏之Python篇】四、pandas介绍
前言
在上一篇中我们安装和使用了Numpy。本期我们来学习使用 核心数据分析支持库 Pandas。
一、pandas概述
1.1 pandas 简介
Pandas 是 Python 的 核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。
Pandas 是由 Wes McKinney 在 2008 年开发的,McKinney 当时是一家纽约金融服务机构的金融分析师 ,他在自己的工作中遇到了一些数据操作问题,当时 Python 中已经有了 Numpy 这样在处理大规模数据方面有着不错表现的库,但是对于表格等结构化数据而言,Numpy 并不能完全胜任。于是 McKinney 开始着手研究一套解决方案,目的是为了在 Python 中提供一种更便捷的方式来处理结构化数据,最终 Pandas 就被开发出来了。
Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。经过多年不懈的努力,pandas 离这个目标已经越来越近了。
对于使用 Python 进行数据分析来说,pandas 几乎是无人不知,无人不晓的。通俗来讲,Pandas 是 Python 编程界的 Excel。
1.2 数据结构
Pandas 主要有两种数据结构,分别是 Series 和 DataFrame,他们分别表示一维的序列和二维的表结构。
| 维数 | 名称 | 描述 |
|---|---|---|
| 1 | Series | 可以看做有标签(默认是整数序列 RangeIndex;可以重复)的一维数组(同类型)。是 scalars(标量) 的集合,同时也是 DataFrame 的元素。 |
| 2 | DataFrame | 一般是二维标签,尺寸可变的表格结构,具有潜在的异质型列。 |
1.3 Pandas 库的应用场景
Pandas 库广泛应用于数据处理、数据分析和数据可视化等方面,以下是一些 Pandas 库应用的场景:
- 数据挖掘和分析
Pandas 库的数据结构和函数可以让数据挖掘和分析更加高效和便捷。使用 Pandas 库可以轻松地对数据进行筛选、排序、过滤、清理和变换等操作,并可以进行统计和汇总等分析。
- 金融和经济分析
在金融和经济分析领域,Pandas 库在对股票数据、金融指标和宏观经济数据等方面有着广泛的应用。Pandas 库不仅可以快速下载和清理数据,还可以进行可视化和模型建立等分析。
- 科学和工程计算
Pandas 库也常用于处理科学和工程计算中的大量数据集。Pandas 库可以从多个文件格式读取数据,并可以对数据进行清洗和转换,以便后续的建模和分析操作。
1.4 学习文档
Pandas 官方网站 点我,没有 VPN 访问较慢。
Pandas 中文网 点我,可以正常访问,较为人性化。
二、pandas优势
为什么 pandas 能成为 Python 数据分析的利器和核心支持库?我想大概可以从以下几点中找到答案。
2.1 Pandas 特点
pandas的主要数据结构是 Series(一维数据)与DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型的用例。其主要特点如下:
-
灵活的数据结构:Pandas 提供了两种主要的数据结构,即Series和DataFrame,可以用来处理不同类型和形式的数据,并可以进行索引和切片操作,方便数据的处理和操作。
-
强大的数据处理能力:Pandas 提供了丰富的数据处理和操作功能,包括数据清洗、缺失值处理、重复值处理、合并和连接、透视表等。
-
支持广泛的数据格式:Pandas 支持多种格式的数据输入和输出,包括CSV、Excel、JSON、SQL、HDF5等。
-
灵活的数据分组和聚合:Pandas 提供了灵活的数据分组和聚合功能,可以轻松进行数据分析和汇总。
-
可视化功能:Pandas 内置了可视化功能,可以通过简单的代码实现图表和可视化结果,方便数据分析和展示。
-
快速高效:Pandas使用Cython编写,具有快速高效的处理能力,在大数据量的情况下也能快速处理数据。
-
应用广泛:Pandas广泛应用于金融、统计、社会科学、工程、科学等领域,适用于各种类型的数据处理和分析任务。
-
开放的社区:Pandas 开源,社区活跃,提供了大量的文档和教程,方便学习和使用。
2.2 Pandas 优势
此外,Python 软件包索引的编制者还表示,Pandas 为数据科学家和开发者提供了几个关键优势,包括:
- 轻松处理浮点和非浮点数据中的缺失数据(表示为 NaN)
- 大小易变性:可以从 DataFrame 和更高维度的对象中插入和删除列
- 自动和显式数据对齐:可以将对象显式对齐到一组标签;或者用户只需忽略标签,让序列、DataFrame 等在计算中自动调整数据
- 强大、灵活的分组功能,对数据集执行分割-应用-组合操作,进行数据聚合和转换
- 可轻松将其他 Python 和 Numpy 数据结构中参差不齐、索引不同的数据转换为 DataFrame 对象
- 大型数据集基于标签的智能切片、精美索引和子集构建
- 直观的数据集合并与连接
- 灵活的数据集重塑和旋转
- 坐标轴的分层标记(每个记号可能具有多个标签)
- 强大的 I/O 工具,用于加载平面文件(CSV 和分隔文件)、Excel 文件和数据库中的数据,以及保存/加载超快速 HDF5 格式的数据
- 特定于时间序列的功能:日期范围生成和频率转换、窗口统计数据迁移、日期调整和延迟
三、pandas学习路线
首先是 Series:
之后是 DataFrame :


结语
本期跟大家分享的内容就到此结束了!希望本文的内容能够帮助到你。
参考文档
Python之Pandas使用详解
Python pandas用法
什么是 Pandas Python?PANDAS 的工作原理和优势?
相关文章:
【数据分析专栏之Python篇】四、pandas介绍
前言 在上一篇中我们安装和使用了Numpy。本期我们来学习使用 核心数据分析支持库 Pandas。 一、pandas概述 1.1 pandas 简介 Pandas 是 Python 的 核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。 …...
《算法竞赛·快冲300题》每日一题:“最小生成树”
《算法竞赛快冲300题》将于2024年出版,是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码,以中低档题为主,适合入门、进阶。 文章目录 题目描述题解C代码Java代码Python代码 “ 最…...
mysql的主键选择
一.没有定义主键有什么问题 如果定义了主键,那么InnoDB会使用主键作为聚簇索引如果没有定义主键,那么会使用第一非空的唯一索引(NOT NULL and UNIQUE INDEX)作为聚簇索引如果既没有主键也找不到合适的非空索引,那么In…...
Eureka 学习笔记1:服务端实例缓存
版本 awsVersion ‘1.11.277’ 缓存类型registryConcurrentHashMap<String, Map<String, Lease<InstanceInfo>>>AbstractInstanceRegistry成员变量readWriteCacheMapLoadingCacheResponseCacheImpl成员变量readOnlyCacheMapConcurrentMap<Key, Value>…...
vue : 无法加载文件 C:\Users\86182\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。
windows11: PS E:\VueProjects> vue vue : 无法加载文件 C:\Users\86182\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/ go.microsoft.com/fwlink/?LinkID135170 中的 about_Execution_Policie…...
FLinkCDC读取MySQl时间戳时区相关问题解决汇总
FlinkCDC时间问题timestamp等https://blog.csdn.net/qq_30529079/article/details/127809317 FLinkCDC读取MySQl中的日期问题https://blog.csdn.net/YPeiQi/article/details/130265653 关于flink1.11 flink sql使用cdc时区差8小时问题https://blog.csdn.net/weixin_44762298/…...
第三篇-Tesla P40+CentOS7+CUDA 11.7 部署实践
硬件环境 系统:CentOS-7 CPU: 14C28T 显卡:Tesla P40 24G 准备安装 驱动: 515 CUDA: 11.7 cuDNN: 8.9.2.26 安装依赖 yum clean all yum update yum install -y gcc gcc-c pciutils kernel-devel-$(uname -r) kernel-headers-$(uname -r)查看GPU信息…...
AC+FIT(瘦AP)配置浅谈
FIT ensp实验材料 :pc、路由器、三层交换机、二层交换机、ac、ap 保证连通性: 根据ac与ap设计好的ip配置,使之可以通讯 ac与ap可以实现跨网段管理 1、设置三层交换机的vlan 与vlanif信息 dhcp enable //开启dhcp ip pool forap //…...
【Python】PySpark 数据计算 ② ( RDD#flatMap 方法 | RDD#flatMap 语法 | 代码示例 )
文章目录 一、RDD#flatMap 方法1、RDD#flatMap 方法引入2、解除嵌套3、RDD#flatMap 语法说明 二、代码示例 - RDD#flatMap 方法 一、RDD#flatMap 方法 1、RDD#flatMap 方法引入 RDD#map 方法 可以 将 RDD 中的数据元素 逐个进行处理 , 处理的逻辑 需要用外部 通过 参数传入 map…...
二叉树题目:左叶子之和
文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:左叶子之和 出处:404. 左叶子之和 难度 3 级 题目描述 要求 给你二叉树的根结点 root \texttt{ro…...
Spark SQL报错: Task failed while writing rows.
错误 今天运行 Spark 任务时报了一个错误,如下所示: WARN scheduler.TaskSetManager: Lost task 9.0 in stage 3.0 (TID 69, xxx.xxx.xxx.com, executor 3): org.apache.spark.SparkException: Task failed while writing rows.at org.apache.spark.sq…...
Linux系统下U盘打不开: No application is registered as handling this file
简述 系统是之前就安装好使用的Ubuntu14.04,不过由于某些原因只安装到了机械硬盘中;最近新买了一块固态硬盘,所以打算把Ubuntu系统迁移到新的固态硬盘上; 当成功的迁移了系统之后发现其引导有点问题,导致多个系统启动不…...
07 定时器处理非活动连接(上)
07 定时器处理非活动连接(上) 基础知识 非活跃,是指客户端(这里是浏览器)与服务器端建立连接后,长时间不交换数据,一直占用服务器端的文件描述符,导致连接资源的浪费。 定时事件&a…...
python——案例四:判断字符串中的元素组成
案例四:判断字符串中的元素组成str"Hello World! 666" print(str.isalnum()) #判读所有的字符都是数字或者是字母 print(str.isalpha()) #判读所有的字符都是字母 print(str.isdigit()) #判读所有的字符都是数字 print(str.islower()) #判读所有的字符都是…...
一起学算法(插入排序篇)
概念: 插入排序(inertion Sort)一般也被称为直接插入排序,是一种简单的直观的排序算法 工作原理:将待排列元素划分为(已排序)和(未排序)两部分,每次从&…...
JVM基础篇-本地方法栈与堆
JVM基础篇-本地方法栈与堆 本地方法栈 什么是本地方法? 本地方法即那些不是由java层面实现的方法,而是由c/c实现交给java层面进行调用,这些方法在java中使用native关键字标识 public native int hashCode()本地方法栈的作用? 为本地方法提供内存空…...
防雷保护区如何划分,防雷分区概念LPZ介绍
在防雷设计中,很重要的一点就是防雷分区的划分,只有先划分好防雷区域等级,才好做出比较好的防雷器设计方案。 因为标准对不同区安装的防雷浪涌保护器要求是不一样的。 那么,防雷保护区是如何划分的呢? 如上图所示&…...
随手笔记——3D−3D:ICP求解
随手笔记——3D−3D:ICP求解 使用 SVD 求解 ICP使用非线性优化来求解 ICP 原理参见 https://blog.csdn.net/jppdss/article/details/131919483 使用 SVD 求解 ICP 使用两幅 RGB-D 图像,通过特征匹配获取两组 3D 点,最后用 ICP 计算它们的位…...
Python调用各大机器翻译API大全
过去的二三年中,我一直关注的是机器翻译API在自动化翻译过程中的应用,包括采用CAT工具和Python编程语言来调用机器翻译API,然后再进行译后编辑,从而达到快速翻译的目的。 然而,我发现随着人工智能的发展,很…...
重生之我要学C++第六天
这篇文章的主要内容是const以及权限问题、static关键字、友元函数和友元类,希望对大家有所帮助,点赞收藏评论支持一下吧! 更多优质内容跳转: 专栏:重生之C启程(文章平均质量分93) 目录 const以及权限问题 1.const修饰…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...
