Python之Numpy(一)

目录

一、创建数组

1.1 Array

1.2 Arrange

1.3 Uniform

1.4 Random.randint

1.5 zeros

二、数组操作

2.1 max & min

2.2 digitize

2.3 count_nonzero

2.4 argwhere

2.5 clip

三、替换数组

3.1 where

3.2 put

3.3 copyto


一、创建数组

创建数组描述
np.array用于创建一维或多维数组
np.linspace创建一个具有指定间隔的浮点数的数组
np.arange在给定的间隔内返回具有一定步长的整数
np.uniform在上下限之间的均匀分布中生成随机样本
np.random.randint在一个范围内生成n个随机整数样本
np.random.random生成n个随机浮点数样本
np.logspace在对数尺度上生成间隔均匀的数字
np.zeroes创建一个全部为0的数组
np.ones创建一个全部为1的数组
np.full创建一个单独值的n维数组
np.identity创建具有指定维度的单位矩阵

1.1 Array

创建一维或多维数组

arr1 = np.array([1,2,3,4,5])
arr1
>>> array([1, 2, 3, 4, 5])

 将pandas的series转为NumPy数组

ser1 = pd.Series(["张三","李四","王五"])
arr2 = np.array(ser1)
arr2
>>> array(['张三', '李四', '王五'], dtype=object)

1.2 Arrange

创建一个具有指定间隔的整数的数组

arr3 = np.arange(5,10,2)
arr3
>>> array([5, 7, 9])

1.3 Uniform

在上下限之间的均匀分布中生成随机样本

arr4 = np.random.uniform(5,10,size = 4)
arr4
>>> array([9.68454285, 8.20889895, 9.69066747, 8.03249396])
arr5 = np.random.uniform(size = (2,3))
arr5
>>> array([[0.91381367, 0.11607847, 0.0873435 ],
           [0.09365167, 0.37786482, 0.1176585 ]])

1.4 Random.randint

在一个范围内生成n个随机整数样本

arr6 = np.random.randint(5,10,10)
arr6
>>> array([6, 5, 8, 5, 5, 7, 7, 9, 6, 7])

1.5 zeros

np.zeroes会创建一个全部为0的数组

arr7 = np.zeros((2,3),dtype='int')
arr7
>>> array([[0, 0, 0],
           [0, 0, 0]])

二、数组操作

数组操作描述
np.min返回数组中的最小值
np.max返回数组中的最大值
np.unique返回一个所有唯一元素排序的数组
np.mean返回数组的平均数
np.medain返回数组的中位数
np.digitize返回输入数组中每个值所属的容器的索引
np.reshape返回一个数组,其中包含具有新形状的相同数据
np.expand_dims它用于扩展数组的维度
np.squeeze通过移除一个单一维度来降低数组的维度
np.count_nonzero计算所有非零元素并返回它们的计数
np.argwhere查找并返回非零元素的所有下标
np.argmax & argminargmax返回数组中Max元素的索引。它可以用于多类图像分类问题中获得高概率预测标签的指标
np.sort对数组排序
np.abs返回数组中元素的绝对值
np.round将浮点值四舍五入到指定数目的小数点
np.clip它可以将数组的裁剪值保持在一个范围内

2.1 max & min

返回数组中的最大/小值

arr8 = np.array([[1,2,1],[2,4,1]])
np.max(arr8)
>>> 4

2.2 digitize

返回输入数组中每个值所属的容器的索引

arr9 = np.array([-0.9, 0.5, 0.9, 1, 1.2, 1.4, 3.6, 4.7, 5.3])
bins = np.array([0,1,2,3])
np.digitize(arr9,bins)
>>> array([0, 1, 1, 2, 2, 2, 4, 4, 4], dtype=int64)

 2.3 count_nonzero

计算所有非零元素并返回它们的计数

arr10 = np.array([[0,0,0,1,1],[1,2,3,0,0]])
np.count_nonzero(arr10)
>>> 5

2.4 argwhere

查找并返回非零元素的下标

arr11 = np.array([[0,0,0,1,1],[1,2,3,0,0]])
np.argwhere(arr11)
>>> array([[0, 3],
           [0, 4],
           [1, 0],
           [1, 1],
           [1, 2]], dtype=int64)

2.5 clip

它可以将数组的裁剪值保持在一个范围内

arr12 = np.array([0,1,-3,-4,5,6,7,2,3])
arr12.clip(0,5)
>>> array([0, 1, 0, 0, 5, 5, 5, 2, 3])
arr13 = np.array([[1,2,0,6], [4,7,6,9]])
arr13.clip(0,5)
>>> array([[1, 2, 0, 5],
          [4, 5, 5, 5]])

三、替换数组

数组操作描述
np.where返回满足条件的数组元素
np.put用给定的值替换数组中指定的元素
np.copyto将一个数组的内容复制到另一个数组中

3.1 where

返回满足条件的数组元素

arr14 = np.arange(12).reshape(4,3)
arr14
>>> array([[ 0,  1,  2],
           [ 3,  4,  5],
           [ 6,  7,  8],
           [ 9, 10, 11]])
np.where(arr14 > 5)
>>> (array([2, 2, 2, 3, 3, 3], dtype=int64),
     array([0, 1, 2, 0, 1, 2], dtype=int64))
arr14[np.where(arr14 > 5)]
>>> array([ 6,  7,  8,  9, 10, 11])

3.2 put

用给定的值替换数组中指定的元素

arr15 = np.array([1,2,3,4,5,6])
arr15
>>> array([1, 2, 3, 4, 5, 6])
np.put(arr15,[1,2],[6,7])
arr15
>>> array([1, 6, 7, 4, 5, 6])

3.3 copyto

将一个数组的内容复制到另一个数组中

arr16 = np.array([1,2,3])
arr17 = np.array([4,5,6])
print(arr16)
print(arr17)
>>> [1 2 3]
>>> [4 5 6]
np.copyto(arr16,arr17)
print(arr16)
print(arr17)
>>> [4 5 6]
>>> [4 5 6]

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值