import numpy as np
np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
#全零的3x2数组
a = np.zeros((3, 2))
#获取数组的尺寸
print(a.shape)
#默认数据类型
print(a.dtype) #float64
#指定数据类型
a = np.zeros((3, 2), dtype=np.int32) # 修改为整数类型
#对已有的数组转换数据类型
a = a.astype(np.float64) # 转换为浮点数类型
#全一的3x2数组
b = np.ones((3, 2))
print(b)
#递增数列
c = np.arange(1, 10, 2) # 从1到9,步长为2
print(c)
#等分区间
d = np.linspace(0, 1, 5) # 从0到1,分成5个点
print(d)
#随机数组
e = np.random.rand(3, 2) # 3x2的随机数组
print(e)
#两个相同尺寸数组可以直接进行四则运算,对同位置的元素进行运算
f = np.array([1, 2, 3, 4])
g = np.array([5, 6, 7, 8])
#加法
print(f + g)
#除法
print(f / g)
#-----------------------点乘,即向量的内积-----------------------
print(np.dot(f, g))
#-----------------------矩阵乘法-----------------------
h = np.array([[1, 2],
[3, 4]])
i = np.array([[5, 6],
[7, 8]])
print(h @ i) # 矩阵乘法
#-----------------------对数组所有数依次求平方根-----------------------
print(np.sqrt(f)) # 对数组f的每个元素求平方根
print(np.sin(f)) # 对数组f的每个元素求正弦
print(np.cos(f)) # 对数组f的每个元素求余弦
print(np.log(f)) # 对数组f的每个元素求自然对数
print(np.power(f, 2)) # 对数组f的每个元素进行指数运算
print(f * 5) # 对数组f的每个元素乘以5
print(f.min(), f.max(), f.mean(), f.median(), f.var(), f.std(), f.sum()) # 求最小值、最大值、均值、中位数、方差、标准差、总和
print(f.argmin(), f.argmax()) # 求最小值和最大值的索引
#-----------------------二维数组的行列求和-----------------------
j = np.array([[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10]])
# 按列求和(第一个维度为0)
print(j.sum(axis=0)) # 输出每列的和 结果是 [ 7 , 9, 11, 13, 15]
# 按行求和(第一个维度为1)
print(j.sum(axis=1)) # 输出每行的和 结果是 [15, 40]
#获取元素
print(j[0, 1]) # 获取第一行第二列的元素
#筛选
print(j[(j > 5) & (j % 2 == 0)]) # 获取大于5且为偶数的元素
#获取第一行,第二列到第四列的元素
print(j[0, 1:4]) # 获取第一行的第二列到第四列的元素
What readers say
先看读者反馈,再直接在当前页面继续讨论。公共留言需要 Waline 服务端;配置后访客只填昵称即可发布。
这类长文如果结构清楚,我会一路读到底。这里最好的地方是把概念、公式和代码示例放在同一篇里。
数据库和工程文档的风格很实用,截图、SQL 和说明都能直接拿去复盘项目。
强化学习相关文章密度很高,但排版如果更清楚,回看体验会更好。这个新版方向是对的。
我更喜欢能快速扫到标签、修改时间和文章重点的首页,现在这种卡片视图会比纯列表更容易选读。
代码块只要语言标识和层级做好,技术博客的专业感会立刻上来。
评论区不用社交账号强绑定会更愿意留言,尤其是这种偏学习记录的网站。
Quick Identity
Pick a preset and leave a note
留言方式:先选择一个预设身份,再在下方输入评论。当前若显示“需要配置 Waline”,说明站点还缺少可写评论后端。
当前未选择预设身份