【数据分析专栏之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修饰…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
