无法在Python中的同一程序中使用追加和重塑函数
我正在编写一个代码,它将从用户那里获取输入并将其转换为矩阵。我在我的代码中使用了无法在Python中的同一程序中使用追加和重塑函数,python,arrays,numpy,append,reshape,Python,Arrays,Numpy,Append,Reshape,我正在编写一个代码,它将从用户那里获取输入并将其转换为矩阵。我在我的代码中使用了append()和restrape()函数,为了使用它们,我导入了numpy和array库,但在这样做时,我得到了以下错误: 回溯(最近一次调用):文件“”,第1行,在 文件“C:\Program Files\JetBrains\PyCharm 2020.2\plugins\python\helpers\pydev_pydev_bundle\pydev_umd.py”,第197行,在runfile中 pydev_im
append()
和restrape()
函数,为了使用它们,我导入了numpy
和array
库,但在这样做时,我得到了以下错误:
回溯(最近一次调用):文件“”,第1行,在
文件“C:\Program Files\JetBrains\PyCharm
2020.2\plugins\python\helpers\pydev_pydev_bundle\pydev_umd.py”,第197行,在runfile中
pydev_imports.exefile(文件名、全局变量、本地变量)#执行脚本文件“C:\Program Files\JetBrains\PyCharm”
2020.2\plugins\python\helpers\pydev_pydev_imps_pydev_execfile.py”,execfile中的第18行
exec(编译(contents+“\n”,file,'exec'),glob,loc)文件“C:/Users/pc/PycharmProjects/pythonProject/matrix multliplication”,
第30行,在
new_arr=arr.reformate(i,j)AttributeError:'array.array'对象没有属性'reformate'
我的代码:
from numpy import *
from array import *
print("Enter the details of 1st Matrix")
i = int(input("Enter the number of Rows"))
j = int(input("Enter the number of Columns"))
print("NOTE:Number of columns of 1st matrix should be equal to Number of rows of 2nd matrix")
print("Enter the details of 2st Matrix")
m = int(input("Enter the number of Rows"))
n = int(input("Enter the number of Columns"))
if j == m:
arr = array('i', [])
arr1 = array('i', [])
p = i * j
q = m * n
print("Enter the values for 1st matrix")
for d in range(p):
x = int(input("Enter the value"))
arr.append(x)
print("Enter the values for 2st matrix")
for e in range(q):
y = int(input("Enter the value"))
arr1.append(y)
new_arr = arr.reshape(i,j)
new_arr1 = arr1.reshape(m,n)
print(arr)
print(arr1)
else:
print("Invalid Input")
我缺少什么?重塑是numpy提供的一个功能,可以在numpy阵列上使用。要使用
重塑
,您需要将arr
变量转换为numpy数组。重塑
是numpy提供的一项功能,可用于numpy数组。要使用重塑
,您需要将arr
变量转换为numpy数组。您可以创建一个数组。数组
(它也可以是一个列表,[]
)
arr
仍然是一个数组。数组
。阅读数组
文档。您是否看到任何重塑方法?如果没有,请不要执行以下操作:
new_arr = arr.reshape(i,j)
数组。数组
不是多维的。它只是一个简单列表的高效内存版本。在这样的迭代会话中,与内置的list
类相比,它没有提供任何好处
以下是输入值的简单交互方式:
In [143]: alist = []
In [144]: for _ in range(4):
...: alist.append(int(input())) # list append
...:
1
3
5
2
In [145]: alist
Out[145]: [1, 3, 5, 2]
In [146]: arr = np.array(alist) # make a numpy.ndarray
In [147]: arr
Out[147]: array([1, 3, 5, 2])
In [148]: arr = arr.reshape(2,2) # this has a reshape method
In [149]: arr
Out[149]:
array([[1, 3],
[5, 2]])
或在一行中获取所有值:
In [150]: alist = input().split()
1 3 5 2
In [151]: alist
Out[151]: ['1', '3', '5', '2']
In [152]: arr = np.array(alist, dtype=int).reshape(2,2)
In [153]: arr
Out[153]:
array([[1, 3],
[5, 2]])
我用的纸条
import numpy as np
这是标准做法。它允许我们清楚地识别numpy函数,例如使用np.array
你使用
from numpy import *
from array import *
可能会造成混乱。array()
是调用numpy
函数还是调用array
函数<代码>*
允许导入,但通常不鼓励导入。您创建一个数组。数组
(它也可以是一个列表,[]
)
arr
仍然是一个数组。数组
。阅读数组
文档。您是否看到任何重塑方法?如果没有,请不要执行以下操作:
new_arr = arr.reshape(i,j)
数组。数组
不是多维的。它只是一个简单列表的高效内存版本。在这样的迭代会话中,与内置的list
类相比,它没有提供任何好处
以下是输入值的简单交互方式:
In [143]: alist = []
In [144]: for _ in range(4):
...: alist.append(int(input())) # list append
...:
1
3
5
2
In [145]: alist
Out[145]: [1, 3, 5, 2]
In [146]: arr = np.array(alist) # make a numpy.ndarray
In [147]: arr
Out[147]: array([1, 3, 5, 2])
In [148]: arr = arr.reshape(2,2) # this has a reshape method
In [149]: arr
Out[149]:
array([[1, 3],
[5, 2]])
或在一行中获取所有值:
In [150]: alist = input().split()
1 3 5 2
In [151]: alist
Out[151]: ['1', '3', '5', '2']
In [152]: arr = np.array(alist, dtype=int).reshape(2,2)
In [153]: arr
Out[153]:
array([[1, 3],
[5, 2]])
我用的纸条
import numpy as np
这是标准做法。它允许我们清楚地识别numpy函数,例如使用np.array
你使用
from numpy import *
from array import *
可能会造成混乱。array()
是调用numpy
函数还是调用array
函数<代码>*
允许导入,但通常不鼓励导入。先生,我们如何将数组转换为numpy数组?能否请您在上述代码的上下文中解释或给出示例。您需要这两种代码的具体原因是什么?转换很简单:np.array(arr)
将进行转换。我使用array是因为我想向我在开始时声明的空数组中添加值,而使用numpy我无法追加值,因此我使用array。不建议使用np.append
!先生,我们怎样才能把数组转换成numpy数组?请您解释一下,或者在上面的代码中给出一个例子。您需要这两个数组的具体原因是什么?转换很简单:np.array(arr)
将进行转换。我使用array是因为我想向我在开始时声明的空数组中添加值,而使用numpy我无法追加值,因此我使用array。不建议使用np.append
!不要将numpy
和array
包一起使用。使用一个或另一个。但是我需要两个,所以你能建议任何方法都使用吗?Pythonlist
有一个append
方法。使用它,然后忘记数组
模块。在Python中,每个对象类都有自己定义的方法集。列表有一个.append
,而ndarray
有一个.reforme
。字符串,dict
也有单独的方法。在代码中的每一点上,您都应该知道变量是什么(它的类型
),并且只使用适当的方法
。将文档放在手边。我使用的是append模块,只有您可以在上面的代码中看到。但我仍然遇到了错误,请不要将numpy
和数组
包一起使用。使用一个或另一个。但是我需要两个,所以你能建议任何方法都使用吗?Pythonlist
有一个append
方法。使用它,然后忘记数组
模块。在Python中,每个对象类都有自己定义的方法集。列表有一个.append
,而ndarray
有一个.reforme
。字符串,dict
也有单独的方法。在代码中的每一点上,您都应该知道变量是什么(它的类型
),并且只使用适当的方法
。把文档放在手边。我使用的是append模块,只有你能在上面的代码中看到。但我还是得到了错误