数据分析必备
numpy创建数组的概念
创建数组的语法结构
np.array(列表,元祖)
一维数组
np.array([1,2,3,4])
np.array((1,2,3,4))
二维数组
np.array([[1,2,3,4],
[5,6,7,8]])
三维数组(很少使用)
再嵌套一个
np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
元祖形式同上
总结:numpy中很多数学操作都需要依赖于数组对象
针对numpy数组中的元素
1.数组内的元素必须是同一类型(若定义时出现类型错乱,内部也会自动统一)
numpy中的数据类型
由于numpy主要是进行数据计算,所以numpy数据类型为数字类型为主
"""为了不和python中数据类型关键字冲突
numpy在所有冲突的关键字后加下划线区分"""
1.布尔型:bool_
2.整型:int_,int32,int64
无符号整型:unint8,unint16,unint32,unint64
3.复数型:complex_,complex32,complex64
4.浮点型:float_,float32,float64
针对数字类型后面的数字
int32只能表示(-2**31,2**31-1),因为他只有32个位,只能表示2**32个数,int64同理
numpy常用属性
T:转置(行列互换)
dtype:类似于python中的type,用于查看数据类型
size:统计数组内元素的个数
ndim:数组的维数
shape:获取数组的行、列数
reshape:修改数组行、列数
numpy常用方法
固定格式:np.常见方法名()
1.array() 创建数组
2.arange() 和range使用方法一致,第三个参数为步长
3.linspace() 和arange使用方法一致,区别在于arange顾头不顾尾, linspace顾头也顾尾
4.ones((3,4)) 创建一个全为0的 3行4列数组
5.zeros((3,4)) 创建一个全为0的 3行4列数组
6.vstack((数组1,数组2)) 竖向拼接两个数组
7.hstack((数组1,数组2)) 水平拼接两个数组
8.shape([0]) 读取矩阵的长度 0代表第一维度
9.argmax(t.axis=0) 获取最大值的位置
10.argmin(t.axis=0) 获取最小值的位置
11.eye(3) 创建一个对角线位1的正方形数组
12.empty(10) 根据指定形状和dtype创建空数组(随机值)
numpy的索引与切片
1.针对一维数组,索引与切片的使用方式与python中的列表一致
2.针对多维数组,有行索引和列索引
res=[行索引,列索引]
res=[行索引,:] :代表所有
numpy的运算符
比较运算符
>
等价于np.greater(arr1,arr2)
判断arr1的元素是否大于arr2的元素
>=
等价于np.greater_equal(arr1,arr2)
判断arr1的元素是否大于等于arr2的元素
<
等价于np.less(arr1,arr2)
判断arr1的元素是否小于arr2的元素
<=
等价于np.less_equal(arr1,arr2)
判断arr1的元素是否小于等于arr2的元素
==
等价于np.equal(arr1,arr2)
判断arr1的元素是否等于arr2的元素
!=
等价于np.not_equal(arr1,arr2)
判断arr1的元素是否不等于arr2的元素
numpy常用函数
# 基本函数
np.round([],decimals=0)
对各元素四舍五入,decimals代表指定小数点之后的位数
np.sqrt(arr)
计算各元素的算术平方根
np.square(arr)
计算各元素的平方值
np.exp(arr)
计算以e为底数的指数
np.power(arr,a)
计算各元素的指数
np.log2(arr)
计算以2为底各元素的对数
np.log10(arr)
计算以10为底各元素的对数
np.log(arr)
计算以e为底各元素的对数
# 必会常用统计函数
"""
其中参数axis用来控制行列
axis=1 代表行
axis=0 代表列
"""
np.min(arr.axis)
按照轴的方向计算最小值
np.max(arr.axis)
按照轴的方向计算最大值
numpy随机数子模块
numpy中的random子模块
np.random.rand 给定形状产生随即数组(0到1之间的约数)
.randint 给定形状产生随机整数
.choice 给定形状产生随机选择
.shuffle 将序列的所有元素随机排序
.uniform 给定形状产生随即数组(随机均匀分布)
.normal 随机正态分布