Python中的动态矩阵

时间:2017-09-22 01:18:31

标签: python numpy matrix dynamic

我是Python的新手,我需要一个动态矩阵,我可以操作添加更多的列和行。我读到了关于numpy.matrix的内容,但是我找不到上面提到的方法。我想到了使用列表,但我想知道是否有更简单的方法来实现它或更好的实现。

我寻找的例子:

matrix.addrow ()
matrix.addcolumn ()
matrix.changeValue (0, 0, "$200")

我要求的太多了吗?如果是这样,任何关于如何实现这样的想法的想法?谢谢!

2 个答案:

答案 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]])