gpt4 book ai didi

python - numpy 数组的行分配

转载 作者:太空宇宙 更新时间:2023-11-03 15:04:52 25 4
gpt4 key购买 nike

>>> arr = np.array([[3, -4, 4], [1, -2, 2]])
>>> arr
array([[ 3, -4, 4],
[ 1, -2, 2]])
>>> arr[1]-(1/3)*arr[0]
array([ 0. , -0.66666667, 0.66666667])
>>> arr[1] = arr[1]-(1/3)*arr[0]
>>> arr
array([[ 3, -4, 4],
[ 0, 0, 0]])

我做错了什么?我想将计算结果赋给数组“arr”的第二行

最佳答案

问题在于您构造了一个int数组。您可以通过使用dtype参数构造一个np.float数组:

arr = np.array([[3, -4, 4], [1, -2, 2]]<b>,dtype=np.float</b>)

Python 在类型方面采用动态方法:列表中的每个元素都可以有不同的类型。但是 numpy 适用于所有元素都具有相同类型的矩阵。因此,将 float 分配给 int 矩阵,首先会将行转换为 int

这将构造一个数组:

>>> arr = np.array([[3, -4, 4], [1, -2, 2]],dtype=np.float)
>>> arr[1] = arr[1]-(1/3)*arr[0]
>>> arr
array([[ 3. , -4. , 4. ],
[ 0. , -0.66666667, 0.66666667]])

关于python - numpy 数组的行分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44761819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com