Python 矩阵是二维数组的一种特殊情况,其中每个数据元素的大小都严格相同。所以每个矩阵也是一个二维数组,但反之则不然。
矩阵是许多数学和科学计算中非常重要的数据结构。正如我们在上一章中已经讨论了二维数组数据结构,因此在本章中我们将重点介绍特定于矩阵的数据结构操作。
我们还使用 numpy 包进行矩阵数据操作。
矩阵示例
考虑在早上、中午、晚上和午夜测量的 1 周温度记录的情况。它可以使用 numpy 中提供的数组和 reshape 方法表示为 7X5 矩阵。
输出
上述数据可以表示为二维数组,如下所示 -
[
['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Wed' '15' '21' '20' '19']
['Thu' '11' '20' '22' '21']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']
]
['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Wed' '15' '21' '20' '19']
['Thu' '11' '20' '22' '21']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']
]
访问值
可以使用索引访问矩阵中的数据元素。访问方法与在二维数组中访问数据的方式相同。
输出
执行上述代码时,它会产生以下结果 -
['Wed', 15, 21, 20, 19]
23
23
添加行
使用下面提到的代码在矩阵中添加一行。
例
输出
执行上述代码时,它会产生以下结果 -
[
['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Wed' '15' '21' '20' '19']
['Thu' '11' '20' '22' '21']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']
['Avg' '12' '15' '13' '11']
]
['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Wed' '15' '21' '20' '19']
['Thu' '11' '20' '22' '21']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']
['Avg' '12' '15' '13' '11']
]
添加列
我们可以使用 insert() 方法向矩阵添加列。在这里,我们必须提到要添加列的索引和一个包含所添加列的新值的数组。在下面的示例中,我们在从开头开始的第五个位置添加 t 个新列。
例
输出
执行上述代码时,它会产生以下结果 -
[
['Mon' '18' '20' '22' '17' '1']
['Tue' '11' '18' '21' '18' '2']
['Wed' '15' '21' '20' '19' '3']
['Thu' '11' '20' '22' '21' '4']
['Fri' '18' '17' '23' '22' '5']
['Sat' '12' '22' '20' '18' '6']
['Sun' '13' '15' '19' '16' '7']
]
['Mon' '18' '20' '22' '17' '1']
['Tue' '11' '18' '21' '18' '2']
['Wed' '15' '21' '20' '19' '3']
['Thu' '11' '20' '22' '21' '4']
['Fri' '18' '17' '23' '22' '5']
['Sat' '12' '22' '20' '18' '6']
['Sun' '13' '15' '19' '16' '7']
]
删除行
我们可以使用 delete() 方法从矩阵中删除一行。我们必须指定行的索引以及轴值,一行为 0,一列为 1。
例
输出
执行上述代码时,它会产生以下结果 -
[
['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Thu' '11' '20' '22' '21']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']
]
['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Thu' '11' '20' '22' '21']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']
]
删除列
我们可以使用 delete() 方法从矩阵中删除一列。我们必须指定列的索引以及轴值,一行为 0,一列为 1。
例
输出
执行上述代码时,它会产生以下结果 -
更新行
要更新矩阵行中的值,我们只需在行的索引处重新分配值。在下面的示例中,thrusday 数据的所有值都标记为零。此行的索引为 3。
例
输出
执行上述代码时,它会产生以下结果 -
[
['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Wed' '15' '21' '20' '19']
['Thu' '0' '0' '0' '0']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']
]
['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Wed' '15' '21' '20' '19']
['Thu' '0' '0' '0' '0']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']
]