1 pandas与NumPy比较

NumPy

NumPy是用python进行科学计算的一个基础库,因为它提供python基础包没有提供的数据结构和高性能函数。NumPy定义了一种专门用于科学计算的数据结构ndarray - 它是一种N纬数组。特点如下:

  • 内存块风格
    由于ndarray中的所有元素都是相同的,所以存储元素可连续,故在科学计算中,ndarray可以省掉很多循环语句。
  • ndarray支持向量化运算。
  • NumPy底层使用C语言编写,解除了GIL。效率远高于纯Python代码。

创建方法

数组最常见的创建方法就是使用array()函数。

import numpy as np

e = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(e)

结果如下:
在这里插入图片描述

pandas 定义

pandas 来源于panel data,可见其要处理的数据是多维而非单纬度。Pandas经常和其他工具一起使用,如数值计算工具NumPy和SciPy分析库scikit-learn,以及数据可视化库matplotlib。其中NumPy则是构建Pandas的基础,后者大量借鉴了NumPy的编码风格。
pandas功能特性广泛,包含的函数类型也众多,数据结构有Series和DataFrame,函数类型有索引函数、汇总函数等

表格容器

Pandas的核心为两种数据结构:SeriesDataFrame

Pandas库的Series对象用来表示一维数据结构,跟数组类似。

DataFrame这种列表式数据结构跟工作表(最常见的Excel工作表)极为相似,其设计初衷是将Series的使用场景由一维扩展到多维。DataFrame是按一定顺序排列的多列数据组成,各列的数据类型可以有所不同(数值、字符串或布尔值等)。

pandas可以读取较多类型的文件格式,从简单的txt、csv、json到excel,hdf5、pickle再到sas、sql、stata等等文件格式都有得以支持。

至于pandas与数据库交互,它可以通过特定的第三方包实现将SQL Server、 PostgreSQL和MySQL数据库中的数据加载到DataFrame中,然后进行各种处理分析。

pandas自带的绘图函数较为简陋,只有简单的plot函数,不过Series或者DataFrame格式的数据可以与matplotlib以及seaborn等绘图工具结合以绘制各类精致的图例。

第三方包datetime与dateutil能够将识别与处理多种时间格式,pandas自身可以生成指定频率的DatetimeIndex,也可以处理时区信息。其移动窗口函数则是大大方便了时间序列分析,使得建立各种AR、MA、ARMA、ARIMA等等时间序列模型方便快捷,而这正是R语言的领地。

pandas与NumPy比较

NumPy除了在相当程度上优化了Python计算过程,其自身还有较多的高级特性,如指定数组存储的行优先或者列优先、广播功能从而快速的对不同形状的矩阵进行计算、ufunc类型的函数可以使得我们丢开循环而编写出更为简洁也更有效率的代码、使用开源项目Numba编写快速的NumPy函数,而Numba则是可以利用GPU进行运算的。

虽然NumPy有着以上的种种出色的特性,其本身则难以独支数据分析这座大厦,这是一方面是由于NumPy几乎仅专注于数组处理,另一方面则是数据分析牵涉到的数据特性众多,需要处理各种表格和混杂数据,远非纯粹的数组(NumPy)方便解决的,而这就是pandas发力的地方。

pandas 这个名称来源于panel data(面板数据),从而可见其要处理的数据是多维度的而非单维度。pandas 含有使数据清洗和分析工作变得更快更简单的数据结构与操作工具。经常是和其他工具一起使用,如数值计算工具NumPy和SciPy,分析库statsmodels与scikit-learn,以及数据可视化库matplotlib。其中NumPy则是构建pandas的基础,后者大量借鉴了NumPy编码风格。

pandas功能特性广泛,其包含的函数类型也众多,数据结构有Series与DataFrame,函数类型有索引函数、汇总函数、加载以及保存众多文件格式函数、与数据库交互函数、字符串处理函数、缺失数据处理函数、合并重塑轴向旋转表格型数据函数、简单的绘图函数、数据聚合(groupby)分组运算(apply)函数、透视表交叉表函数以及时间序列处理方面的各种函数。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

awk 命令详解

1. 编写 awk 脚本基础 1.1 Hello,World 通过演示“Hello,World”这个程序来介绍一种程序设计语言。通过演示这个程序在 awk 中如何工作将证明 awk 是如何的不寻常。实际上,有必要演示几种打印“Hello,World”的不同方法。 在第…

llvm后端之DAG设计

llvm后端之DAG设计 引言1 核心类设计2 类型系统2.1 MVT::SimpleValueType2.2 MVT2.3 EVT 3 节点类型 引言 llvm后端将中端的IR转为有向无环图,即DAG。如下图: 图中黑色箭头为数据依赖;蓝色线和红色线为控制依赖。蓝色表示指令序列化时两个节…

车载V2X方案的选型分享

ACX200T面向 5G车联网C-V2X 应用的安全芯片,满足V2X场景下消息认证的专用安全芯片,该款芯片采用公司自主的 高速硬件加密引擎 ,支 持国家标准SM1、SM2、SM3、SM4密码算法,同时支持国际ECDSA、AES、SHA-1密码算法。可实现网联汽车云…

WT588F34B-16S语音芯片:四通道16K采样率混音播放的应用优势

随着科技的不断进步,语音芯片在电子产品中的应用越来越广泛。其中,WT588F34B-16S语音芯片凭借其卓越的性能和创新的功能,引起了市场的广泛关注。特别是其支持四通道16K采样率混音播放的功能,为实际应用带来了显著的优势。本文将深…

H5聊天系统聊天网站源码 群聊源码 无限建群创群

H5聊天系统聊天网站源码 群聊源码 无限建群创群 1.支持自助建群 管理群 修改群资料 2.支持自动登录 登陆成功可自助修改资料 3.后台可查看群组聊天消息记录 4.支持表情 动态表情 图片发布 5.支持消息语音提醒 测试环境:NginxMySQL5.6PHP5.6 1.将压缩包解压到…

解决:Android 报错 Failed to transform exifinterface-1.2.0.jar

一、问题说明 Failed to transform exifinterface-1.2.0.jar (androidx.exifinterface:exifinterface:1.2.0) to match attributes {artifactTypeandroid-classes-jar, org.gradle.categorylibrary, org.gradle.libraryelementsjar, org.gradle.statusrelease, org.gradle.usa…

excel导出,post还是get请求?

1,前提 今天在解决excel导出的bug时,因为导出接口查询参数较多,所以把原来的get请求接口修改为post请求 原代码: 修改后: 2,修改后 postman请求正常,然后让前端对接口进行同步修改&#xff0…

Kafka消费者组

消费者总体工作流程 Consumer Group(CG):消费者组,由多个consumer组成。形成一个消费者组的条件,是所有消费者的groupid相同。 • 消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费…

打磨 IT 技能、实践全栈开发:Demo 项目之母 RealWorld | 开源日报 No.117

gothinkster/realworld Stars: 75.6k License: MIT RealWorld 是一个令人印象深刻的全栈 Medium.com 克隆应用,由 React、Angular、Node 和 Django 等技术驱动。它展示了如何使用不同的前端和后端来构建相同功能的应用,并且所有实现都遵循相同的 API 规…

【JAVA】重力反弹,反弹高次一次比一次低

本来是想实现泡泡屏保(javascript实现漂亮的气泡碰撞效果(Chrome浏览器下更佳) 下载-脚本之家)的,还未实现 import javax.swing.*; import java.awt.*; import java.util.LinkedList; import java.util.Random;class Bubble {public static Image image;public int…

统计个数并调用--函数设计与实现

#定义函数 count(s) ,统计字符串中小写字母、大写字母、数字的个数,并以字典为结果返回给调用函数。 # (1)判断字符类型 def count(s):#创建字典,用于保存变量dictionary {数字: 0, 小写字母: 0, 大写字母: 0, 其他字符: 0}for c in s:if c.isdigit():d…

EXCEL VLOOKUP函数

参考资料 Excel:史上最全的VLOOKUP应用教程VLOOKUP函数最全面最详细的讲解大全,涵盖17个重要和常见用法! 目录 零. 前提条件一. 单条件查找1.1 顺向查找1.2 逆向查找 二. 多条件查找2.1 顺向查找2.2 逆向查找 三. 根据条件查询等级四. 交差查…

IDEA中如何创建各种类型的java工程

如果你的工程下面的module没有互相依赖,就相当于是一个小的项目,idea版本不同,细节可能不同 1、普通的Java 工程 在工程上,右键- New - Module,如下: 指明Java工程的名称及使用的JDK版本: 创建…

Hive入门+部署

看黑马视频做的笔记 目录 概念 1.基本概述 2.基础架构 总架构 部署 1.安装MySQL 2.配置Hadoop 3.下载解压Hive 4.下载MySQL Driver包 注意! 5.配置Hive 6.初始化元数据库 7.启动Hive(使用Hadoop用户) 实例 查看HDFS上表中存…

Redis内存策略

1.Redis中Key的过期策略 问题1:Redis是如何知道一个key是否过期呢? Redis会利用两个字典分别记录key-value对(dict)以及key-ttl对(expires)。 1.1 立即删除 在设置键的过期时间时,会创建一个回…

JVM垃圾收集器三色标记算法

垃圾收集算法 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 比…

RK3568平台 PWM Backlight控制背光亮度

一.PWM基本概念 以单片机为例,我们知道,单片机的IO口输出的是数字信号,IO口只能输出高电平和低电平。 假设高电平为5V 低电平则为0V 那么我们要输出不同的模拟电压,就要用到PWM,通过改变IO口输出的方波的占空比从而获…

【小沐学Unity3d】3ds Max 减面工具汇总

文章目录 1、简介2、“优化”修改器3、“专业优化”修改器4、“多分辨率”修改器5、Polygon Cruncher5.1 工具简介5.2 下载安装5.3 使用测试 6、Simplyon6.1 工具简介6.2 下载安装6.3 使用测试 7、FAQ7.1 在3dmax里面显示点数和面数 结语 1、简介 有几个 3ds Max 修改器可帮助您…

C#上位机与欧姆龙PLC的通信03----创建项目工程

1、创建仿真PLC 这是一款CP1H-X40DR-A的PLC,呆会后面创建工程的时候需要与这个类型的PLC类型一致,否则程序下载不到PLC上。 2、创建虚拟串口 首先安装,这个用来创建虚拟串口来模拟真实的串口,也就是上位机上有那种COM口&#xf…

map|动态规划|单调栈|LeetCode975:奇偶跳

作者推荐 【贪心算法】【中位贪心】.执行操作使频率分数最大 涉及知识点 单调栈 动态规划 map 题目 给定一个整数数组 A,你可以从某一起始索引出发,跳跃一定次数。在你跳跃的过程中,第 1、3、5… 次跳跃称为奇数跳跃,而第 2、…