numpy的基础知识

np.hstack (horizontal)是numpy库中的一个函数,用于水平(按列顺序)堆叠数组。将具有相同行数的两个或者更多数组拼接成一个更宽的数组

import numpy as np
a = np.array([[1, 2, 3], [1, 2, 3]])
b = np.array([[1, 2, 3], [1, 2, 3]])
c = np.hstack((a, b))
print(c.shape) # (2, 6)

np.vstack (vertical)是numpy库中的一个函数,用于垂直(按行顺序)堆叠数组。将具有相同列数的两个或者更多数组拼接成一个更高的数组

import numpy as np
a = np.array([[1, 2, 3], [1, 2, 3]])
b = np.array([[1, 2, 3], [1, 2, 3]])
c = np.vstack((a, b))
print(c.shape) # (6, 2)

np.argsort (a, axis=-1)是numpy库中的一个函数,返回数组中满足给定条件的元素的索引。可以根据这些索引来得到一个新的有序数组
aixs: 沿哪个轴进行排序,默认是最后一个轴

import numpy as np
a = np.array([3, 4, 1])
index = np.argsort(a) # np.array([2, 0, 1])
a = np.array([[1, 3, 4], [4, 3, 1]])
index = np.argsort(a, axis=-1) # np.array([[0, 1, 2], [2, 1, 0]])

np.maximum用于比较两个数组并返回逐元素的最大值。如果两个数组的形状不同,它将应用广播规则。

import numpy as np
x = np.array([2, 3, 4])
y = np.array([1, 5, 2])
max_values = np.maximum(x, y)
print(max_values)  # 输出 [2 5 4]

np.where 是 NumPy 库中的一个非常有用的函数,它返回数组中满足给定条件的元素的索引。此外,它也可以用来根据条件从两个数组中选择元素。 numpy.where(condition, [x, y])

  • condition: 一个布尔数组,其中 True 表示满足条件的元素。
  • x, y: 可选参数,如果提供,np.where 将返回一个数组,数组中的元素从 x 或 y 中选择:如果 condition 的元素为 True,则从 x 中选择;为 False 则从 y 中选择。如果不提供,则返回只满足条件的索引
import numpy as np
x = np.array([2, 3, 4])
y = np.array([1, 5, 2])
indices = np.where(x > 3) # np.array([2])
z = np.where(x > 3, x, y) # np.array([1, 5, 4])

数组创建

np.arraynp.zerosnp.onesnp.fullnp.arangenp.linspacenp.eye
从python列表或者元组创建数组创建指定形状的数组,元素全部为0创建指定形状的数组,元素全部为1创建指定形状和数值的数组创建一个范围内的数组,类似于range创建一个等间距的数组创建一个单位矩阵

数组属性

ndarray.ndimndarray.shapendarray.sizendarray.dtype
数组的维度数组的形状,返回一个元组数组中元素的总数数据元素的数据类型

数组索引和切片

  • 单个元素访问:arr[i, j]
  • 切片:arr[start:stop:step],可以多维切片。
  • 布尔索引:使用布尔数组来索引。
  • 花式索引:使用整数数组进行索引。

数组操作

  • reshape: 改变数组形状而不改变数据。
  • transpose 或 .T: 转置数组。
  • concatenate, vstack, hstack: 数组拼接。
  • split: 分割数组。
  • flip: 翻转数组。

广播机制
广播机制允许 NumPy 在执行数组运算时自动处理不同形状的数组,使得数组之间的算术运算成为可能。

随机数生成
NumPy 提供 numpy.random 模块来生成随机数:

  • rand: 生成[0,1)之间的均匀分布随机数。
  • randn: 生成标准正态分布随机数。
  • randint: 生成指定范围的随机整数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值