python创建数组类,Python中使用numpy库创建数组时的数组类型要求

import numpy as np

a = np.random.randn(5)

print(a)

[ 0.71938184 -0.67913267 0.68261199 0.28344646 0.79999571]

生成5个随机高斯变量储存在数组a中

print(a.shape)

(5,)

显示a的形状,为秩为1的数组,既不是行向量也不是列向量

print(a.T)

[ 0.71938184 -0.67913267 0.68261199 0.28344646 0.79999571]

显示a的转置,与a相同

print(np.dot(a,a.T)) #计算a和a的转置的积

2.165025590653722

a = np.random.randn(5,1)#应该使用这种方式来生成5*1的矩阵

print(a)

[[ 1.41506567]

[ 2.0286434 ]

[ 1.26772785]

[-1.65091443]

[-0.63833777]]

print(a.T)#此时,a的转置是1*5的列向量

[[-0.05676626 -1.3514814 0.06185545 0.14442963 -0.20376781]]

print(np.dot(a,a.T)) #计算a和a的转置的积,此时得到的结果为5*5的矩阵

[[ 0.00322241 0.07671854 -0.0035113 -0.00819873 0.01156714]

[ 0.07671854 1.82650198 -0.08359649 -0.19519396 0.27538841]

[-0.0035113 -0.08359649 0.0038261 0.00893376 -0.01260415]

[-0.00819873 -0.19519396 0.00893376 0.02085992 -0.02943011]

[ 0.01156714 0.27538841 -0.01260415 -0.02943011 0.04152132]]

所以,每次创建数组时,应该将其定义为列向量或者行向量,而不是一个数组

a = np.random.randn(5,1)

a.shape = (5,1)

#应该使用这种方式来生成5*1的矩阵

a = np.random.randn(1,5)

a.shape = (1,5)

#应该使用这种方式来生成1*5的矩阵

assert(a.shape == (5,1))

#assert()声明用来确保这是一个向量

a = a.reshape((5.1))

#将a转换成5*1数组

原文链接:https://blog.csdn.net/weixin_49813799/article/details/112413945

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值