Python Numpy的常见用法有哪些,分别怎样实现的
Admin 2022-06-27 群英技术资讯 335 次浏览
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) # 一维数组
b = np.array([[1, 2], [3, 4]]) #二维数组
numpy.arange(start, stop, step, dtype),start默认0,step默认1
c = np.arange(0, 10, 1, dtype=int) # =np.arange(10) [0 1 2 3 4 5 6 7 8 9] d = np.array([np.arange(1, 3), np.arange(4, 6)]) # 二维数组 # 不过为了避免麻烦,通常序列二维数组都是通过reshape进行重新组织 dd = c.reshape(2, 5) # 将一维数组重新组合成2行5列
numpy.random.random(size=None) 该方法返回[0.0, 1.0)范围的随机小数。
numpy.random.randint() 该方法返回[low, high)范围的随机整数。
该方法有三个参数low、high、size 三个参数。默认high是None,如果只有low,那范围就是[0,low)。如果有high,范围就是[low,high)
numpy.random.randn(d0,d1,…,dn) 该方法返回一个或一组样本,具有正态分布
np.random.normal 指定期望和方差的正太分布
e = np.random.random(size=2) # 一维数组,元素两个,[0.0,1.0]的随机数 f = np.random.random(size=(2, 3)) # 两行三列数组,[0.0,1.0]的随机数 h = np.random.randint(10, size=3) # [0,10]范围内的一行三列随机整数 i = np.random.randint(5, 10, size=(2, 3)) # [5,10]范围内的2行3列随机整数
numpy.zeros 创建指定大小的数组,数组元素以0 来填充
numpy.ones 创建指定形状的数组,数组元素以1 来填充
numpy.empty 创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组,里面的元素的值是之前内存的值
np.linspace 创建一个一维数组,数组是一个等差数列构成的
numpy.logspace 创建一个于等比数
j = np.zeros((2, 5)) k = np.ones((2, 5)) l = np.linspace(1, 20, 10)
ndarray.ndim
darray.shape 数组的维度和列,对于矩阵,n 行m 列
ndarray.size 数组元素的总个数,相当于.shape 中n*m 的值
ndarray.dtype ndarray 对象的元素类型
ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位
ndarray.flags ndarray 对象的内存信息
ndarray.real ndarray 元素的实部
ndarray.imag ndarray 元素的虚部
ndarray.data 包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。
print('ndim:数组的秩(维度)'.center(20, '*')) print('ndim:', i.shape[1])
x = np.arange(1, 13) # 一维数组
a = x.reshape(4, 3) # 二维数组
print(‘x:', x)
print(‘a:', a)
print(x[2:]) print(x[3:8])
print(a[0]) # 第一行 print(a[2, 2]) # 第三行第4列 print(a[:, 2]) print(a[::2, 0]) # 所有奇数行第1列数据 print(a[(2, 1), (1, 2)]) # 第3行第2列,第2行第3列 = np.array((a[2,1],a[1,2]))取出来后在重新生成新的数组 print(a[-2]) # 获取倒数第二行 print(a[::-1]) # 行倒序 print(a[::-1, ::-1]) # 行列倒序
reshape将一维数组变成二维或者三维
ravel将三维数组变成一维数组,flatten将二维数组变成一维数组
使用numpy.hstack(a1,a2) 函数将两个数组水平组合
numpy.vstack(a1,a2) 函数可以将两个或多个数组垂直组合起来形成一个数组
使用numpy.concatenate((a1, a2, …), axis),控制axis参数的值也可以实现hstack和vstack的功能,axis=0等同于vstack、axis=1等同于hstack
b = np.split(x, 4) # 将一个一维数组四等分, 用b[1]的方式获取每个块的数据 # print(b[1]) c = np.split(a, 2, axis=0) # 二维数组的垂直分隔,按行分隔成两部分 # print(c[0]) d = np.split(a, [2], axis=1) # 二维数组的水平分隔,按列分隔成两部分 # print(d[0])
加减乘除: add(),subtract(),multiply() 和divide()
np.sum() 求和
np.prod() 所有元素相乘
np.mean() 平均值
np.std() 标准差
np.var() 方差
np.median() 中数
np.power() 幂运算
np.sqrt() 开方
np.min() 最小值
np.max() 最大值
np.argmin() 最小值的下标
np.argmax() 最大值的下标
np.inf 无穷大
np.exp(10) 以e 为底的指数
np.log(10) 对数
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了Python中的字符串常识,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
open()函数的作用是打开一个文件,并返回一个file对象(即文件对象),下面这篇文章主要给大家介绍了关于python中open函数对文件处理的相关资料,需要的朋友可以参考下
人类在进行学习时,往往不总是零开始,学习物理你会有数学基础、学习英语你会有中文基础等等。于是对于机器而言,神经网络的学习亦可不再从零开始,于是出现了Transfer Learning,就是把一个领域已训练好的网络用于初始化另一个领域的任务,例如会下棋的神经网络可以用于打德州扑克。
python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用。本文将为大家详细介绍一下python中的线程threading.Thread()的使用,需要的可以参考一下
这篇文章主要介绍了python文本处理的方案(结巴分词并去除符号),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008