numpy是针对多维数组(ndarray)的一个科学计算包。数组是相同数据类型的元素按一定顺序排列的组合。
numpy中所需的数据结构为数组——使用array( )函数创建
- 生成
array中传入对象(列表、元组等)。arr=np.array([2,4,6,8]) arr=np.array((1,4,6))
固定范围的数组 np.arrang(start, stop, step)
指定形状0数组 np.zeros(3)
指定形状1数组 np.ones(3)
正方形单位矩阵 np.eye(3)
随机数组 np.random.rand(x,y) x行y列0-1之间的随机数
正态分布的随机数 np.random.randn()
指定范围的随机数 np.random.randint(1,5,10) 10个1到5之间的随机数
从已知数组中选择 np.random.choice( )
打乱顺序 np.random.shuffle( )
-
基本属性
数组的形状 arr.shape
多少个元素 arr.size
数组类型 arr.dtype
数组维数 arr.ndim -
数据获取
- 某个区间 : 左闭右开 [m,n] 从m到n 不包括n
- 某个条件 : arr[arr>3]
[-1] —— 末尾数值
[3:-2] —— 第3位到倒数第2位,不包括第2位
- 变形
reshape(m, n) —— 转变为m行n列
.T 转置
.ravel() arr.ravel() - 合并
- concatenate([arr1,arr2], axis=1) axis=1 在行方向上进行合并; axis=0 在列方向上进行合并
- hstack,vstack 横向/纵向合并 以元组形式输入 np.hstack((arr1, arr2))
- colum_stack , row_stack 同上
-
分割
hsplit,vsplit 横向/纵向分割 np.hsplit(a,(3,4)) # Split a after the third and the fourth column -
常用的分析函数
元素级(作用于每一个元素): np.abs(arr),sqrt,square,exp,log,isnan
描述统计函数: .sum(),mean,std,var(方差),min,max,argmin,argmax(最小/大值的索引) -
条件函数
np.where(condition, x, y) —— 类似于Excel中的 if(condition, true ,false)
arr=np.array([56,60,78])
np.where(arr>60,"及格","不及格")
-
集合关系
包含、交叉、并集、差集
包含:数组arr1中包含数组arr2中的哪些值 np.inld(arr1,arr2)
交集:公共部分 np.intersectld(arr1,arr2)
并集:所有元素集合 np.unionld(arr1,arr2)
差集:在arr1中存在,arr2中不存在 np.setdiffld(arr1,arr2) -
数据预处理
- 类型转换
- 缺失值处理
- 重复值处理
1.astype() arr.astype(np.float64) arr.astype(np.string_)
2.缺失值处理 a.是否含有缺失值,找出来 b.对缺失值进行填充
np.isnan(arr) arr[np.isnan(arr)] = 0
3.重复值处理 np.unique(arr)