Python科学计算包NumPy教程

这是一份关于Python科学计算库NumPy的教程,通过实例讲解如何使用NumPy进行高效计算。提供官方中文文档链接及配套Jupyter Notebook实例。
摘要由CSDN通过智能技术生成

在我的Github上有一份代码与教程结合的jupyter Notebook文件,大家可以clone下来看一看。
下面会用实例的方式给出一些examples:
Tutorial教程
官方中文文档

import numpy as np

# 创建数组:
array1 = np.array([1, 2, 3]) # 创建一个一维数组,只有一个轴,轴的长度为3
print(array1)

# 通过列表创建二维数组:
print(np.array([(1, 2, 3), (4, 5, 6)])) # 2x3的数组

# 创建全为0的二维数组:
print(np.zeros((3, 3))) # 3x3的零矩阵

# 创建全为1的三维矩阵:
print(np.ones((2, 3, 4))) # 2x3x4的元素全为1的矩阵

# 创建一维等差数组:
print(np.arange(10))

# 创建二维等差数组:
print(np.arange(6).reshape(2, 3)) # 创建2x3的等差数组

# 创建单位矩阵(二维数组):
print(np.eye(3))

# 创建间隔一维数组:
print(np.linspace(1, 10, num = 6))

# 创建二维随机数组
print(np.random.rand(2, 3))

# 创建二维随机整数数组(数值小于5)
print(np.random.randint(5, size = (2, 3)))

# 依据自定义函数创建数组(lambda表达式):
print(np.fromfunction(lambda x, y: x + y, (3, 3)))

# 生成一维数组a, b后进行数组运算:
a = np.array([10, 20, 30, 40, 50])
b = np.arange(1, 6)
print(a)
print(b)

# add加法运算:
print(a + b)

# sub减法运算:
print(a - b)

# Multiply乘法运算:
print(a * b)

# divide除法运算:
print(a / b)
print('以上操作均在一维数组上进行')

# 生成二维数组A, B进行数组运算:
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
print(A)
print(B)

# add:
print(A + B)

# sub:
print(A - B)

# multiply矩阵元素之间的乘法:
print(A * B)

# 矩阵乘法运算:
print(np.dot(A, B))

# 或者将A, B转为matrix矩阵再直接相乘
print(np.mat(A) * np.mat(B))

# 数乘矩阵:
print(20 * A)

# 矩阵的转置:
print(A.T)

# 矩阵求逆:
print(np.linalg.inv(A))

print('以上操作均在二维数组或矩阵中进行')

# 数学函数
print('Math Function example')
# 三角函数:
print(a)

print(np.sin(a))

# 以自然对数为底的指数函数e^x:
print(np.exp(a))

# 数组的开平方根
print(np.sqrt(a))

# 数组的切片 and 索引
print('Array split & index')

# 一维数组index
a = np.array([1, 2, 3, 4, 5])
print(a[0])
print(a[-3])

# 一维数组split
print(a[0: 2])
print(a[: -1])

# 二维数组index:
a = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9)])
print(a[0])
print(a[-1])

# 二维数组split:
print(a[:, -1])  # 二维数组切片需要用,区分行列这里是最后一列的意思

# 数组外形操作:
print('Array Shape')

# 查看数组形状:
a = np.random.random((3, 2))
print(a)
print(a.shape)

# 更改数组形状(不改变原始数组的形状):
print(a.reshape(2, 3))
print(a)
# 更改数组形状(改变原始数组的形状)
print(a.resize
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值