Numpy入门基础

Numpy的使用基础教程

使用 numpy 创建和操作数组

numpy 是 Python 中用于科学计算的核心库,提供了高效的多维数组对象 ndarray 以及各种操作数组的函数。以下是一些常见的 numpy 操作示例。

创建数组

使用 np.array 可以从 Python 列表创建 ndarray 数组。

import numpy as np

a = np.array([1, 2, 3])
print(a)  # 输出: array([1, 2, 3])
print(a.dtype)  # 输出: dtype('int64')

创建全零、全一或空数组

np.zerosnp.onesnp.empty 可以创建指定形状的全零、全一或未初始化的数组。

zeros_array = np.zeros((3, 4))
print(zeros_array)

ones_array = np.ones((3, 4))
print(ones_array)

empty_array = np.empty((3, 4))
print(empty_array)

使用 np.arange 创建数组

np.arange 类似于 Python 的 range 函数,但返回的是 ndarray

arange_array = np.arange(10, 30, 5)
print(arange_array)  # 输出: array([10, 15, 20, 25])

数组的形状操作

使用 reshape 可以改变数组的形状。

a = np.arange(15).reshape(3, 5)
print(a)
print(a.shape)  # 输出: (3, 5)

数组的属性和方法

ndarray 对象有许多属性和方法,如 shapendimdtypeitemsizesize

print(a.ndim)  # 输出: 2
print(a.dtype)  # 输出: dtype('int64')
print(a.itemsize)  # 输出: 8
print(a.size)  # 输出: 15

创建随机数组

np.random 模块提供了生成随机数组的函数。

random_array = np.random.rand(3, 4)
print(random_array)

random_int_array = np.random.randint(-1, 4, size=(3, 4))
print(random_int_array)

数组的数学运算

numpy 提供了丰富的数学函数,如 np.ceilnp.floornp.rintnp.abs 等。

arr = np.random.randn(2, 3)
print(np.ceil(arr))
print(np.floor(arr))
print(np.rint(arr))
print(np.abs(arr))

数组的统计函数

numpy 提供了多种统计函数,如 np.sumnp.meannp.stdnp.var 等。

arr = np.arange(12).reshape(3, 4)
print(np.sum(arr))  # 输出: 66
print(np.mean(arr, axis=1))  # 输出: [1.5, 5.5, 9.5]
print(np.std(arr))  # 输出: 3.452052529534663
print(np.var(arr))  # 输出: 11.916666666666666

数组的比较和排序

numpy 提供了 np.anynp.allnp.uniquenp.sort 等函数用于数组的比较和排序。

arr = np.random.randn(2, 3)
print(np.any(arr > 1))  # 输出: False
print(np.all(arr > -5))  # 输出: True

arr = np.array([1, 5, 3, 6, 7, 8])
print(np.sort(arr))  # 输出: array([1, 3, 5, 6, 7, 8])

矩阵乘法

使用 np.dot@ 运算符可以进行矩阵乘法。

a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.random.rand(3, 2)
print(np.dot(a, b))

数据类型转换

使用 astype 可以转换数组的数据类型。

z1 = np.zeros((3, 4), dtype=float)
print(z1.astype(int))

生成等比和等差数列

np.logspacenp.linspace 可以生成等比和等差数列。

log_array = np.logspace(1, 10, 10)
print(log_array)

lin_array = np.linspace(2, 10, 5, dtype=int)
print(lin_array)  # 输出: array([ 2,  4,  6,  8, 10])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值