python数据处理:NumPy基础

本文资料来自:Python for Data Analysis, Chapter 4

1. NumPy简介

NumPy,Numerical Python简称,是科学计算和数据分析所用的基础包。对于数据分析师,主要关注以下几点:

  a: Fast vectorized arrya operations for data munging and cleaning(数据分析和清洗), subsetting and filtering(和过滤), transformation and any other kind of computations.

  b: Coomn array algortihsm like sorting, unique, and set operations

  c: Efficient descriptive statistics and aggregating/summarizing data

  d: Data alignment(数据调整) and relational data manipulations for merging(合并) and joining together heterogeneous data sets(异构数据集)

  e: Expressing conditional logic as arry expressions instead of loops with if-elif-else branches 存取ndarray会更快速

  f: Group-wise(分组) data manipulations

其中NumPy最常用的功能是a和e,主要作为传递数据的容器,对于比较关系型数据的或者图表类数据集,最常用的还是pandas。

2. NumPy数组:NumPy ndarray

2.1

ndarray:N-dimensional array。NumPy数组是一个多维数组对象(array object),主要包含实际的数据和描述这些数据的元数据(tuple)。 

通常通过调用这些元组来获得实际数据

要记住记下两点:

  同一个NumPy的多维数组的元素是同类型的。

  通过一个正整数元组(tuple)索引的元素表格(通常是元素是数字)。

在NumPy中维度(dimensions)叫做轴(axes),比如三维矩阵,每一个维度都是一个轴。

轴的个数,即数组的维数叫做秩(rank)。比如三维矩阵,秩为3,二维矩阵,秩为2。

维度以一个整数元组来表示,比如二维的一般为(2,3),表示2排3列的一个矩阵,秩为元组的长度:2,第一个维度长度为2,第二个维度长度为3。

2.2 

首先:import numpy as ynp

  2.2.1: creating ndarray:array function

    

 

    Numpy提供一个arrange函数,返回一个array数组而不是list

  

   np.arrange(32).reshape((8,4))生成0-31的8*4矩阵

   2.2.2: 基本索引(indexing)和slicing

  

  arr[n:m]:截取从第n为到底m-1位的数值

  要注意的是,array slice是原始数据的一个映射,对此进行的任何操作都会反映到原始数据上。可以说用copy()函数保留原始数值。

  

   2.2.2: 常用indexing 

  

  np.ix_函数:可以将两个一维整数型数组转换成一个索引组合,调取这个矩阵组合里面所有的数值

  

  上述就是调取了(1,0),(1,3),(1,1),(5,0),(5,3),(5,1),(7,0),(7,3),(7,1)共9个值

2.3 常用函数

  2.3.1: 数学类

  包括sqrt,exp,abs,add,subtract等

  np.mean()

  np.sum()

  axis参数:axis=1表示按照行,axis=0表示按照列

  2.3.2: sorting排列,unique

  函数:sort()

  numpy中最常用的一个组合逻辑(set logic)运算就是unique(),这个函数可以去掉数列中多次重复出现的值,返回形式为arra

  2.3.3: 生成随机数

  np.random.normal(size=(4,4))生成按照正态分布排列的4*4矩阵

  np.random.randn(5,4)生成5*4矩阵,按照正态分布排列,均值为0,标准差为1.

注:虽然这算是一个基础的总结,但不能保证理解全部准确无误。随着对不同函数的多次使用,如果有新的体会,我会及时回来更新。

    

时间: 2024-10-05 12:55:20

python数据处理:NumPy基础的相关文章

[转]python与numpy基础

来源于:https://github.com/HanXiaoyang/python-and-numpy-tutorial/blob/master/python-numpy-tutorial.ipynb python与numpy基础 寒小阳(2016年6月) Python介绍 如果你问我没有编程基础,想学习一门语言,我一定会首推给你Python类似伪代码的书写方式,让你能够集中精力去解决问题,而不是花费大量的时间在开发和debug上同时得益于Numpy/Scipy这样的科学计算库,使得其有非常高效

《利用Python进行数据分析·第2版》第四章 Numpy基础:数组和矢量计算

<利用Python进行数据分析·第2版>第四章 Numpy基础:数组和矢量计算 numpy高效处理大数组的数据原因: numpy是在一个连续的内存块中存储数据,独立于其他python内置对象.其C语言编写的算法库可以操作内存而不必进行其他工作.比起内置序列,使用的内存更少(即时间更快,空间更少) numpy可以在整个数组上执行复杂的计算,而不需要借助python的for循环 4.0 前提知识 数据:结构化的数据代指所有的通用数据,如表格型,多维数组,关键列,时间序列等 相关包:numpy pa

利用 Python 进行数据分析(五)NumPy 基础:ndarray 索引和切片

概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为array[index1:index2],意思是从index1索引位置开始,到index2索引(不包括index2)位置结束的一段数组.例如: 当把一个值赋值为一个切片时,该值会作用于此数组片段里每一个元素,例如: 二维数组 二维数组的索引 当以一维数组的索引方式访问一个二维数组的时候,获取的元素不在

利用 Python 进行数据分析(四)NumPy 基础:ndarray 简单介绍

一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 二.ndarray 是什么 ndarray 是一个多维的数组对象,具有矢量算术运算能力和复杂的广播能力,并具有执行速度快和节省空间的特点. ndarray 的一个特点是同构:即其中所有元素的类型必须相同. 三.ndarray 的创建 array() 函数 最简单的方法, 使用 NumPy 提供的

Python Numpy基础简介

Numpy基础: NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy.NumPy 为开放源代码并且由许多协作者共同维护开发. 首先创建一个最

《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算

第四章 Numpy基础:数组和矢量计算 实话说,用numpy的主要目的在于应用矢量化运算.Numpy并没有多么高级的数据分析功能,理解Numpy和面向数组的计算能有助于理解后面的pandas.按照课本的说法,作者关心的功能主要集中于: 用于数据整理和清理.子集构造和过滤.转换等快速的矢量化运算 常用的数组解法,如排序.唯一化.集合运算等 高效的描述统计和数据聚合/摘要运算 用于异构数据集的合并/连接运算的数据对齐和关系型数据运算 将条件逻辑表述为数组表达式(而不是带有if-elif-else分支

numpy基础--利用数组进行数据处理

1 利用数组进行数据处理 numpy数组可以将许多种数据处理任务表述为简洁的数组表达式,用数组表达式替换循环的做法,通常被称为矢量化. 例如:我们想要处理一组值(网格型)上计算函数sqrt(x^2 + y^2).np.meshgrid函数接受两个一维数组,并产生两个二维矩阵(对应于两个数组中所有的(x, y)对). 1 >>> a = np.array([1, 2, 3]) 2 >>> b = np.array([4, 5, 6]) 3 >>> ax,

Python数据处理与计算——概述

Python是一种面向对象的,动态的程序设计语言,具有非常简洁而清晰的语法,适合于完成各种高层任务.它既可以用来快速开发程序脚本,也可以用来开发大规模的软件. 随着NumPy.SciPy.Matplotlib.Enthoughtlibrarys等众多程序库的开发,Python越来越适合于做科学计算.绘制高质量的2D和3D图像.与科学计算领域最流行的商业软件MATLAB相比,Python是一门通用的程序设计语言,比MATLAB所采用的脚本语言的应用范围更广泛,有更多的程序库的支持.虽然MATLAB

python数据分析NumPy入门

numpy库入门 维度:一组数据的组织形式 一维数据:由对等关系的有序或无序数列构成,采用线性方式组织 (列表,集合) (数组) 列表和数组 都是一组数据的有序结构 不同点 列表:数据类型可以不同 数组:数据类型相同 二维数据:由多个一维数据构成,是一维数据的组合形式 (表格)(列表) 多维数据:由一维或二维数据在新维度上扩展形成(多维列表) 高维数据仅利用最基本的二元关系展示数据间的复杂结构 (字典) Numpy Numpy 是一个开源的python科学计算基础库 一个强大的N维数组对象 nd

Python&lt;10&gt;文件基础

常见的文件操作 output = open('data','w')       #创建文件 w为写入 input = open('data','r')        #r为读写 若不写属性  默认为r aString = input.read()          #读整个文件到一个字符串 aString = input.readlines()      #读整个文件到字符串列表 aString = input.read(N)         #读N个字节 aString =input.read