numpy
>>>基本属性
import numpy as np array = np.array([[1,2,3],[2,3,4]]) a = np.random.rand(2,3) # 生成指定维度的随机多维数组 print(a) print(array) print(array.ndim) # 维度个数 print(array.shape) # 各维度大小 print(array.size) # 元素总数 print(array.dtype) # 数据类型 a = np.arange(2,14).reshape((3,4)) print(np.argmax(a)) # 最大值索引 print(np.argmin(a)) # 最小值索引
>>>创建多维数组
#1--list转化
import numpy as np # list转换 l = range(10) a = np.array(l) print(a) # 一维数组
#2--嵌套序列转换
import numpy as np l = [range(10),range(10)] a = np.array(l) print(a) print(a.shape) # (2,10) print(a.ndim) # 2
#3--np.zeros,np.ones,np.emtpy
import numpy as np # 全0 zero_arr = np.zeros((3,4)) print(zero_arr) # 全1 ones_arr = np.ones((3,4)) print(ones_arr) # empty_arr = np.empty((3,4)) print(empty_arr)
#4--np.arange()
import numpy as np arr = np.arange(10) print(arr) # 0,1,2,3,4,5,6,7,8,9
# 数据类型转换 astype
1 import numpy as np 2 3 zeros_float_arr = np.zeros((3,4),dtype=np.float64) 4 print(zeros_float_arr.dtype) 5 6 zeros_int_arr = zeros_float_arr.astype(np.int32) 7 print(zeros_int_arr) 8 print(zeros_int_arr.dtype)
>>>索引与切片
arr = np.linspace(1,10,12).reshape(3,4) print(arr) # 1-10 12等分 生成3行四列的二维数组 print(arr[2,3]) # 第3行第4列 等价于 arr[2][3] print(arr[1:3,1:3]) # 第2-3行,第2-3列 print(arr[:,:]) # 所有行,所有列
--条件索引
import numpy as np arr = np.random.rand(3,3) print(arr) year_arr = np.array([ [2000,2001,2000], [2005,2002,2009], [2001,2003,2010], ]) filtered_arr = arr[year_arr>=2005] print(filtered_arr) # 输出year_arr中>=2005对应位置的arr元素
--多条件索引
import numpy as np arr = np.random.rand(3,3) print(arr) year_arr = np.array([ [2000,2001,2000], [2005,2002,2009], [2001,2003,2010], ]) filtered_arr = arr[(year_arr<2005) & (year_arr % 2 == 0)] print(filtered_arr)
>>>>维数转换
#1--二维
import numpy as np arr = np.random.rand(3,4) print(arr) arr_t = arr.T print(arr_t) arr_t = arr.transpose() print(arr_t)
#2--多维
import numpy as np arr3d = np.random.rand(2,3,4) # 2x3x4 print(arr3d) arr_t = arr3d.transpose((1,0,2)) # 3x2x4 print(arr_t)
>>> 最大最小值索引
import numpy as np a = np.arange(2,14).reshape((3,4)) print(np.argmax(a)) # 最大值索引 print(np.argmin(a)) # 最小值索引
#################################################
>>>>通用函数
ceil 向上取整
floor 向下取整
rint 四舍五入
isnan 判断元素是否为Nan
multiply 元素相乘
divide 元素相除
--np.where 三元运算
import numpy as np arr = np.random.randn(3,4) print(arr) print(np.where(arr>0,1,-1)) # 元素大与0 显示1,反之显示0
###################常用的统计方法
#1--sum 和
import numpy as np arr = np.arange(10).reshape((5,2)) print(np.sum(arr)) # 所有元素的和 45 print(np.sum(arr,axis=0)) # 列元素的和[20 25] print(np.sum(arr,axis=1)) # 行元素的和[1 5 9 13 17]
#1--np.all,np.any,np.unique(去重)
arr = np.random.randn(2,3) print(arr) print(np.any(arr>0)) # 有一个满足就返回True print(np.all(arr>0)) # 所有满足才返回True,否则返回false
from numpy import random
from matplotlib import pylab
x=random.random_integers(10,50,10)#(min,max,numbers)随机生成10个10-50之间的数
y=random.normal(10,0.5,100)#(average,u,numbers)生成100个符合正态分布的数,均数为10,u=0.5

浙公网安备 33010602011771号