python数据分析-numpy数组
numpy 提供ndarray 对象:ndarray是存储单一数据类型的多维数组。
优点:减少计算开销,加快计算速度。运算函数多。
ndarray:与python中其他容器一样,可以通过数据进行索引或切片。
ndarray创建数据:
import numpy as np
a=[1,2,3,4]
b=np.array(a)
print(b)
c=np.ayyay([1,2],[3,4])
print(c)
创建特殊数组:
np.zero(3)#创建全零的一维数组
np.ones(3)#创建全一的一维数组
np.zeros(3,3)#创建全零的二维数组
np.identity(3)#创建单位矩阵
创建随机数组:
#均匀分布
np.random.rand(10,10)#创建10行10列的0-1的随机数
np.random.uniform(0,100)#创建指定范围的随机数
np.random.randint(0,100)#创建指定范围的一个随机整数
#正太分布
np.random.normal(1.75,0.2,(2,3))#创建指定均值/标准差/维度的的正态分布
np.random。standard_normal(5)#从标准正太分布中随机采样5个数字
ndarray数组属性
注:b为一个ndarray类型变量
b.size ,数组元素个数
b.shape,数组形状
b.ndim,数组维度
b.dtype,数组元素类型
b.Itemsize,数组元素字节大小
数组和标量之间的运算
ndarray类型可以矢量化运算,不用编写循环
arr=np.array([[1,2,3],[3,4,5]])
print(1/arr)#每个元素除以一
print(arr-arr)#每个元素对应位置相减
print(arr*arr)#每个元素对应位相乘
print(arr**0.5)#每个元素开平方
基本的索引和切片
arr=np.ararge(10)#生成一个0-9的一位数组
print(arr)
print(arr[5])#输出第6个元素
print(arr[5:8])
一维数组比较简单操作跟python的列表差不多,但是跟列表最大的区别在于数组切片是原始数组的视图。这意味着数据不会被复制,数据视图上的任何修改都会被反映到原始数组上。
一些基本运算函数:
sum ,对数组中全部或某轴向的元素求和
mean , 算术平均数。零长度的数据的mean为NaN
std,var 计算方差和标准差
min, max 最大值和最小值
argmin,argmax 分别为最大和最小元素的索引
cumsum 所有元素的累积和
cumprod 所有元素的累积
注:上述函数在使用时需注意选用的轴,运算只在运用的轴上运算,轴的选用用axis选用。