【Python入门 】—— 关于Numpy的使用

编程实例1:

使用array()函数创建数组,元素为[5, 3, 8]
使用arange()函数创建数组,包含1到100范围内的偶数
创建3行5列的全1数组和全0数组

import numpy as np
arr = np.array([5,3,8])
print(arr)
arr1 = np.arange(1,100,2)
print(arr1)
arr2 = np.zeros((3,5))
print(arr2)
arr3 = np.ones((3,5))
print(arr3)
print(arr.dtype)
print(arr1.dtype)
print(arr2.dtype)
print(arr3.dtype)

知识点:array数组指生成()中的数组

      但是arange指生成()中指定范围中的有序整数,注意是生成半开半闭区间

      arange函数的参数(起始值,要取得的末尾值+1,步长)

 

编程实例2:


创建n行m列的数组,包含0到n*m-1的整数
将上述数组转为一维数组

import numpy as np
print('please input n and m:')
n,m = map(int,input().split())
arr = np.arange(0,n*m).reshape(n,m)
print(arr)
print(arr.ravel())

 知识点:这里的ravel()函数是指可以转化为一维数组

编程实例3:

生成一个4行2列和一个4行3列的数组,将它们合并为一个数组(同行合并),再拆分为两个等规模的数组
生成一个2行5列和一个5行5列的数组,将它们合并为一个数组(同列合并),再拆分为两个小数组(3行和4行)

import numpy as np
arr = np.arange(8).reshape(4,2)
arr1 = np.arange(12).reshape(4,3)
print(arr)
print(arr1)
arr = np.concatenate([arr,arr1],axis=1)
print(arr)

知识点:这里的函数concatenate作用是按照指定的秩合并

    也可以使用函数hstack([arr1, arr2])代替,该函数主要指数组间同行合并

arr = np.hstack([arr1, arr2])

知识点:concatenate([arr1,arr2],axis):按照指定的秩合并

    vstack([arr1,arr2])是指数组间同列合并

import numpy as np
arr = np.arange(10).reshape(2,5)
arr1 = np.arange(25).reshape(5,5)
print(arr)print(arr1)
arr = np.vstack([arr,arr1])
print(arr)print(np.split(arr,[3,7]))

 

编程实例4:生成一个3行5列的数组,元素为6~20,将第1、2行(索引从0开始)的值置为0,将第1、2行(索引从0开始)的值恢复为原来的值

import numpy as np
arr = np.arange(6,21).reshape(3,5)
print('*******************
',arr)
slice = arr[1:3].copy()
arr[1:3] = 0
print('*******************
',arr)
arr[1:3] = slice
print('*******************
',arr)

知识点:这里的copy函数主要代表数组的复制

    且这里数组的 [1:3] 代表的其实是第一行和第二行,因为Ndarray数组是一个半开半闭的数组类型

 

编程实例5:生成一维随机整数数组,取值范围为-10~100,元素数量为20个,生成3行5列的随机浮点数数组,取值范围为0.0~1.0

import numpy as np
arr = np.random.randint(-10,100,size = (3,5))
print(arr)
arr1 = np.random.rand(3,5)
print(arr1)

知识点:这里的随机生成数组的函数分别有randint、rand,一个用来生成给定范围内的实数,一个用来生成在0~1范围内的随机浮点数


如果您因为文章内容想联系我,请您发送相关内容至邮箱1634506078@qq.com,或者直接私信我的博客园账号。 谢谢。
原文地址:https://www.cnblogs.com/CoffeeSoul/p/11917015.html