数据分析--numpy基础

Numpy

一、简介

​ Numpy是高性能科学计算和数据分析的基础包。它也是pandas等其他数据分析的工具的基础,基本所有数据分析的包都用过它。
​ NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库处理这些数组。它将常用的数学函数都支持向量化运算,使得这些数学函数能够直接对数组进行操作,将本来需要在Python级别进行的循环,放到C语言的运算中,明显地提高了程序的运算速度。
安装方法:
​ pip install numpy
引用方式:
​ import numpy as np
​ 这是官方推荐的导入方式,不要用 from numpy import * ,因为有可能与Python中自带的一些方法冲突,例如 max 、 min 等。

二、ndarray -多维数组对象

Numpy的核心特征就是N-维数组对——ndarray.

2.1、ndarray是一个多维数组列表
这个数组跟Python中的列表的区别:
数组对象内的元素类型必须相同
数组大小不可修改
2.2、常用属性

​ T:数组的转置(对高维数组而言)
​ dtype:数组元素的数据类型
​ size: 数组元素的个数
​ ndim: 数组的维数
​ shape: 数组的维度大小(以元组形式)

2.3、数据类型
dtype:
布尔型: bool_
整型: int_int8 int16 int32 int 64
无符号整型: uint8 uint16 uint32 uint64
浮点型: float_ float16 float32 float64
复数型: complex_ complex64 complex128
2.4、ndarray-创建
创建方法:
array(): 将列表转换为数组,可选择显式指定dtype
arange(): range的numpy版,支持浮点数。顾头不顾尾
linspace(): 类似arange(),第三个参数为数组长度。顾头也顾尾
zeros(): 根据指定形状和dtype创建全0数组,
ones(): 根据指定形状和dtype创建全1数组
empty(): 根据指定形状和dtype创建空数组(随机值)
eye(): 根据指定边长和dtype创建单位矩阵

​ 补充:
​ astype()方法可以修改数组的数据类型

​ int32只能表示(-231,231-1),因为它只有32个位,只能表示2**32个数

​ 无符号整型,只能用来存正数,不能用来存负数

7、简单运算、索引和切片

​ 简单运算:

​ 数组和标量(数字)之间运算:arr * 3
​ 同样大小数组之间的运算:arr1 + arr2

​ 索引:

​ reshape() 改变数组的维数

​ arr[3,2] 数组索引写法

​ 切片:不拷贝直接修改原数据,需要拷贝则用.copy()

​ arr[1:4, 1:5] 先行后列,顾头不顾尾。

三、通用函数

能对数组中所有元素同时进行运算的函数就是通用函数
常见通用函数:
能够接受一个数组的叫做一元函数,接受两个数组的叫二元函数,结果返回的也是一个数组
一元函数:
abs、fabs:分别是计算整数和浮点数的绝对值
sqrt: 计算各元素的平方根
square: 计算各元素的平方
exp: 计算各元素的指数e**x
log: 计算自然对数
sign: 计算各元素的正负号
ceil: 计算各元素的ceiling值
floor: 计算各元素floor值,即小于等于该值的最大整数
rint: 计算各元素的值四舍五入到最接近的整数,保留dtype

​ modf: 将数组的小数部分和整数部分以两个独立数组的形式返回,与Python的divmod方法类似
​ isnan: 计算各元素的正负号
​ isinf: 表示那些元素是无穷的布尔型数组
​ cos,sin,tan: 普通型和双曲型三角函数
​ 二元函数:
​ add: 将数组中对应的元素相加
​ subtract: 从第一个数组中减去第二个数组中的元素
​ multiply: 数组元素相乘
​ divide、floor_divide: 除法或向下圆整除法(舍弃余数)
​ power: 对第一个数组中的元素A,根据第二个数组中的相应元素B计算A**B
​ maximum,fmax :计算最大值,fmax忽略NAN
​ miximum,fmix: 计算最小值,fmin忽略NAN
​ mod: 元素的求模计算(除法的余数)

​ 浮点数float有两个特殊值:

​ 1、nan(Not a Number):不等于任何浮点数(nan != nan)

​ 2、inf(infinity):比任何浮点数都大

​ Numpy中创建特殊值:np.nan、np.inf
​ 数据分析中,nan常被用作表示数据缺失值

四、数学统计方法

​ sum: 求和
​ cumsum: 求前缀和
​ mean: 求平均数
​ std: 求标准差
​ var: 求方差
​ min: 求最小值
​ max: 求最大值
​ argmin: 求最小值索引
​ argmax: 求最大值索引

五、随机数

​ 随机数生成函数在np.random的子包当中
​ 常用函数
​ rand: 给定形状产生随机数组(0到1之间的数)
​ randint: 给定形状产生随机整数
​ shuffle: 与random.shuffle相同
​ uniform: 给定形状产生随机数组

posted @ 2020-03-03 17:11  AllenCH  阅读(231)  评论(0编辑  收藏  举报