Pandas 数据结构

Pandas 有三种常用的数据结构

  • Series
  • DataFrame
  • Panel

这些数据结构建立在Numpy数组之上,这意味着它们运行速度都非常快。

Python、Numpy和Pandas对比

Python
  • list:Python自带数据类型,主要用一维,功能简单,效率低
  • Dict:Python自带数据类型,多维键值对,效率低
Numpy
  • ndarray:Numpy基础数据类型,单一数据类型
  • 关注数据结构/运算/维度(数据间关系)
Pandas
  • Series:1维,类似带索引的1维ndarray
  • DataFrame:2维,表格型数据类型,类似带行/列索引的2维ndarray 关注数据与索引的关系(数据实际应用)

从实用性、功能强弱和和可操作性比较:list < ndarray < Series/DataFrame

数据规整和分析工作中,ndarry数组作为必要补充,大部分数据尽量使用Pandas数据类型

考虑这些数据结构的最佳方法是高维数据结构是其低维数据结构的容器。例如,DataFrame是Series的容器,Panel是DataFrame的容器。

数据结构 维度 说明
Series 1 用于存储一个序列的一维数据
Data Frames 2 DataFrame作为更复杂的数据结构,则用于存储多维数据
Panel 3 通用的3D标签,大小可变的数组。

建立和处理二维数组是一项繁琐的工作,在编写函数时,要由用户来考虑数据集的方向。但是使用Pandas数据结构可以减少用户的精力。
例如,对于表格数据(DataFrame),在语义上考虑索引(行)和列比在轴0和轴1上更有帮助。

变异性

所有Pandas数据结构都是值可变的(可以更改),除了Series以外,其他大小都是可变的。系列是大小不变的。

注 -DataFrame被广泛使用,是最重要的数据结构之一。Panel面板使用少得多。

Series

Series是具有均匀数据的一维数组状结构。例如,以下系列是整数10、23、56的集合...

10 23 56 17 52 61 73 90 26 72

Series是具有均匀数据的一维数组状结构。例如,以下系列是整数10、23、56的集合...

关键点

  • 同类数据
  • 大小不变
  • 数据可变值

Data Frames

DataFrame是具有异构数据的二维数组。例如,

Name Age Gender Rating
Steve 32 Male 3.45
Lia 28 Female 4.6
Vin 45 Male 3.9
Katie 38 Female 2.78

上表代表组织的销售团队的数据及其总体绩效等级,数据以行和列表示,每列代表一个属性,每行代表一个人。

列的数据类型

Column Type
Name String
Age Integer
Gender String
Rating Float
关键点
  • 异构数据
  • 大小不变
  • 数据可变

Panel

Panel是具有异构数据的三维数据结构。很难用图形表示面板。但是面板可以说明为DataFrame的容器。

关键点
  • 异构数据
  • 大小可变
  • 数据可变

Pandas库学习笔记(2)的更多相关文章

  1. pandas库学习笔记(二)DataFrame入门学习

    Pandas基本介绍——DataFrame入门学习 前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构D ...

  2. pandas库学习笔记(一)Series入门学习

    Pandas基本介绍: pandas is an open source, BSD-licensed (permissive free software licenses) library provi ...

  3. python的pandas库学习笔记

    导入: import pandas as pd from pandas import Series,DataFrame 1.两个主要数据结构:Series和DataFrame (1)Series是一种 ...

  4. numpy, matplotlib库学习笔记

    Numpy库学习笔记: 1.array()   创建数组或者转化数组 例如,把列表转化为数组 >>>Np.array([1,2,3,4,5]) Array([1,2,3,4,5]) ...

  5. muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor

    目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...

  6. muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制

    目录 muduo网络库学习笔记(四) 通过eventfd实现的事件通知机制 eventfd的使用 eventfd系统函数 使用示例 EventLoop对eventfd的封装 工作时序 runInLoo ...

  7. muduo网络库学习笔记(三)TimerQueue定时器队列

    目录 muduo网络库学习笔记(三)TimerQueue定时器队列 Linux中的时间函数 timerfd简单使用介绍 timerfd示例 muduo中对timerfd的封装 TimerQueue的结 ...

  8. C++STL标准库学习笔记(三)multiset

    C++STL标准库学习笔记(三)multiset STL中的平衡二叉树数据结构 前言: 在这个笔记中,我把大多数代码都加了注释,我的一些想法和注解用蓝色字体标记了出来,重点和需要关注的地方用红色字体标 ...

  9. 初步了解pandas(学习笔记)

    1 pandas简介 pandas 是一种列存数据分析 API.它是用于处理和分析输入数据的强大工具,很多机器学习框架都支持将 pandas 数据结构作为输入. 虽然全方位介绍 pandas API ...

  10. 【python】numpy库和matplotlib库学习笔记

    Numpy库 numpy:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成,并可与C++/Fortran语言无缝结合.树莓派Python v3默 ...

随机推荐

  1. StackExchange.Redis跑起来,为什么这么溜?

    StackExchange.Redis 是一个高性能的 Redis 客户端库,主要用于 .NET 环境下与 Redis 服务器进行通信,大名鼎鼎的stackoverflow 网站就使用它.它使用异步编 ...

  2. 修改java版本环境变量不生效

    修改java版本环境变量不生效 起因 先上图说明问题(电脑含有多个java版本,因为需要维护很老的项目,需要切换至以前的java版本,当然也可以不用修改环境变量,直接指定) 环境变量配置 正常 jav ...

  3. 文字转语音 - 搭建微软tts整合web服务提供api接口(免费)

    微软tts是业界公认文字转语音效果最佳本文使用docker搭建微软tts服务并提供api接口对外提供服务对接官方免费在线体验接口,搭建后可免费进行调用使用,不保证永久稳定可用 调用方式url:http ...

  4. .NET Core 中使用GBK GB2312编码报错的问题

    错误描述 环境 dotnet core 2.1 2.2   dotnet core 3.1 dotnet core 5.0 现象 当代码中使用 System.Text.Encoding.GetEnco ...

  5. pidstat 命令查看nginx上下文切换

    pidstat -w -p 711 1 [root@leilei ~]# ps -ef|grep nginx root 13974 1 0 14:23 ? 00:00:00 nginx: master ...

  6. nginx aio模块添加与配置

    1. 升级目的 让现有服务平滑过渡到高版本,减少服务漏洞,提高服务性能 让其支持nginx最新特性 nginx threads模块 2. 获取nginx1.7.2版本 wget http://ngin ...

  7. 使用sysdig查看容器里的系统调用

    目录 一.系统环境 二.前言 三.系统调用简介 四.Sysdig简介 五.使用sysdig查看容器里的系统调用 5.1 以二进制包的形式安装sysdig 5.2 使用sysdig查看容器里的系统调用 ...

  8. uniapp 复选框问题

    之前在开发中遇到过使用colorui组件库的时候,uniapp自带的复选框和colorui的样式有冲突,以至于出现复选框中的勾号一直不显示,后来发现是因为colorui的样式问题 问题的根源: 解决方 ...

  9. Nodejs静态资源管理 路由

    express提供了一个非常好用的方法,叫做 express.static(),通过此方法,可以非常方便地创建一个静态web资源服务器 app.use(express.static('public') ...

  10. 图片jpg,png转为BASE64编码

    -- using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; namespace aliy ...