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. spring boot 整合mybatis 配置多数据源 数据源切换和多数据源的事务

    因为项目中用到了多数据源 不可避免的会有各种各样的问题列一下最主要的问题: 1 如何配置多数据源???2 spring项目中多数据源无法切换???3 操作了2个或者2个以上数据库的数据无法保证事务的一 ...

  2. 根据raft协议动画总结raft协议的特点

    raft动画地址 1. 1事务提交的时候如果已经被一台follower(A)获取到了,此时leader(L)挂掉,然后其它follower跟A一起选举leader基本上都是A会被选举成功,然后不管1事 ...

  3. go 有向简单图 十字链表

    package main import "fmt" type CrossEdgeNode struct { tailVex int // 尾顶点 headVex int // 头顶 ...

  4. go 基数排序

    package main import ( "fmt" ) func SelectSortMax(arr []int) int { arrLen := len(arr) if ar ...

  5. Android 13 - Media框架(15)- OpenMax(三)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节学习了 media.codec 服务中的部分内容,这一节我们将一起了解 OMX IL 层的 API 以及相关的结构体等内容. 1.相关路径 以 ...

  6. NOIP模拟100(多校32)

    T1 饥饿的狐狸 解题思路 贪心签到题. 最小值的做法就是对于温度比水小的从大到小吃,然后喝一口水,然后把剩下的从小到大吃掉. 最大值的做法,几乎就是大的挑一个小的挑一个间隔着吃,可以排完序之后双指针 ...

  7. NOIP模拟59

    T1 柱状图 解题思路 二分答案+线段树check 显然对于最后的限制,我们希望向上移的和向下移的柱子数尽量接近. 因此枚举每一个柱子当做最高的一个的时刻,二分找到一个当前最优解更新答案. 开两棵线段 ...

  8. 抖音abogus逆向分析

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 aHR0cHM6 ...

  9. LeetCode 719. 找出第 k 小的距离对 (Java)

    题目: 给定一个整数数组,返回所有数对之间的第 k 个最小距离.一对 (A, B) 的距离被定义为 A 和 B 之间的绝对差值. 示例 1: 输入:nums = [1,3,1]k = 1输出:0 解释 ...

  10. 推荐十个优秀的ASP.NET Core第三方中间件,你用过几个?

    ASP.NET Core 作为一个强大的.跨平台的.高性能的开源框架,为开发者提供了丰富的功能和灵活的扩展性.其中,中间件(Middleware)是 ASP.NET Core 架构中的核心组件之一,它 ...