转载:https://www.numpy.org.cn/article/basics/an_introduction_to_scientific_python_numpy.html#NumPy简单入门教程
补充: 1.np.tile()函数
>>> x = np.reshape(range(6), (2,3)) x: [[0 1 2] [3 4 5]] >>> b = np.tile(x, (1,2)) #行数不变, 列方向重复两遍 b: [[0 1 2 0 1 2] [3 4 5 3 4 5]] >>> c = np.tile(x, (2,1)) #列数不变,行方向重复两遍 c:[[0 1 2] [3 4 5] [0 1 2] [3 4 5]] >>> d = np.tile(x, (2,1,3)) #最外维重复两遍,行数不变,列方向重复三遍 d:[[[0 1 2 0 1 2 0 1 2] [3 4 5 3 4 5 3 4 5]] [[0 1 2 0 1 2 0 1 2] [3 4 5 3 4 5 3 4 5]]]2.np.where()函数 两个用法: 1> np.where(condition, x, y) #满足条件(condition),输出x,不满足输出y。 2>np.where(condition) 只有条件 (condition),没有x和y,则输出满足条件 (即非0) 元素的坐标 (等价于numpy.nonzero)。这里的坐标以tuple的形式给出,通常原数组有多少维,输出的tuple中就包含几个数组,分别对应符合条件元素的各维坐标。 更清楚的解释请见:https://www.cnblogs.com/massquantity/p/8908859.html
3.np.repeat()函数 转载自:https://blog.csdn.net/u010496337/article/details/50572866
4.np.concatenate()函数 用于叠加数组:
a = np.arange(10).reshape(2,-1) b = np.repeat(1, 10).reshape(2,-1) c = np.concatenate([a, b], axis=0) ########结果如下################## a: [[0 1 2 3 4] [5 6 7 8 9]] b: [[1 1 1 1 1] [1 1 1 1 1]] c: [[0 1 2 3 4] [5 6 7 8 9] [1 1 1 1 1] [1 1 1 1 1]]5.np.intersect1d(arr1, arr2) 和 np.union1d(arr1,arr2) 这两个函数分别用来寻找两个数组的交集和并集
a = np.array([1,2,3]) b = np.array([3,4]) inter = np.intersect1d(a, b) uni = np.union1d(a,b) 结果: a : [1,2,3] b : [3,4] inter: [3] uni : [1 2 3 4]6.np.setdiff1d(arr1,arr2) setdiff1d可以求解出存在于第一个集合但是并不存在于第二个集合中的元素。返回值是一个数组集合。
a =np.array([1,2,3,8]) b = np.array([3,4,8]) res = np.setdiff1d(a,b) 结果: a: [1,2,3,8] b: [3,4,8] res: [1,2][::-1] 顺序相反操作 [-1] 读取倒数第一个元素
a = np.arange(9).reshape(3,3) res = a[::-1] # 等同于 res = a[[2,1,0],:]8.np.set_printoptions(precision= , suppress=True) >precision选项用来设定numpy数组的小数点位数, >suppress选项用来设定是否以科学计数法的形式输出,如果suppress=True则不是科学计数法 suppress=False是科学计数法(e的形式) 未完待续。。。
9.np.genfromtext(fname, delimiter=’,’, dtype=‘float’, usecols=[0,1,2,3]) 参数fname:本地或者远程的文件 delimiter:是每一行的串用什么分隔符分割 dtype: 还不太理解,有些混乱 usecols:表示用那些列
10.求向量或者矩阵的 均值、 中位数、 方差、 标准差
统计量函数均值np.mean()方差np.var()标准差np.std()中位数np.median()