我是Python的新手,我需要一个动态矩阵,我可以操作添加更多的列和行。我读到了关于numpy.matrix的内容,但是我找不到上面提到的方法。我想到了使用列表,但我想知道是否有更简单的方法来实现它或更好的实现。
我寻找的例子:
matrix.addrow ()
matrix.addcolumn ()
matrix.changeValue (0, 0, "$200")
我要求的太多了吗?如果是这样,任何关于如何实现这样的想法的想法?谢谢!
答案 0 :(得分:1)
你可以在numpy(例如np.concatenate
)或native python(my_list.append()
)中完成所有这些操作。哪一个更有效将取决于你的程序将做什么:如果你所做的只是一次添加/更改一个值,或者做很多列'添加'或'删除',numpy可能效率会降低。但是,如果进行矩阵或列操作,将新列添加到numpy数组的开销可能会被numpy提供的矢量化计算速度所抵消。所以选择你喜欢的,如果速度是一个问题,那么你需要尝试两种方法......
答案 1 :(得分:-1)
有几种方法可以在Python中表示矩阵。您可以使用列表列表或numpy数组。例如,如果您使用numpy数组
>>> import numpy as np
>>> a = np.array([[1,2,3], [2,3,4]])
>>> a
array([[1, 2, 3],
[2, 3, 4]])
添加行
>>> np.vstack([a, [7,8,9]])
array([[1, 2, 3],
[2, 3, 4],
[7, 8, 9]])
添加列
>>> np.hstack((a, [[7],[8]]))
array([[1, 2, 3, 7],
[2, 3, 4, 8]])