python的matrix_Python - Matrix

Python - Matrix

Matrix是二维数组的特例,其中每个数据元素的大小完全相同。 所以每个矩阵也是二维数组,但反之亦然。 矩阵是许多数学和科学计算的非常重要的数据结构。 正如我们在前一章中已经讨论过两个二维数组数据结构,我们将重点关注本章中特定于矩阵的数据结构操作。

我们还使用numpy包进行矩阵数据操作。

矩阵示例

考虑在早晨,中午,傍晚和午夜测量的记录温度1周的情况。 它可以使用数组呈现为7X5矩阵,并且可以在numpy中使用reshape方法。from numpy import *

a = array([['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]])

m = reshape(a,(7,5))

print(m)

上述数据可以表示为如下的二维阵列。[['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']]

访问矩阵中的值

可以使用索引访问矩阵中的数据元素。 访问方法与二维数组中访问数据的方式相同。from numpy import *

m = array([['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]])

# Print data for Wednesday

print(m[2])

# Print data for friday evening

print(m[4][3])

执行上述代码时,会产生以下结果 -['Wed', 15, 21, 20, 19]

23

添加一行from numpy import *

m = array([['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]])

m_r = append(m,[['Avg',12,15,13,11]],0)

print(m_r)

执行上述代码时,会产生以下结果 -[['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()方法将列添加到矩阵中。 这里我们要提到我们要添加列的索引和一个包含所添加列的新值的数组。 在下面的例子中,我们在开头的第五个位置添加ta新列。from numpy import *

m = array([['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]])

m_c = insert(m,[5],[[1],[2],[3],[4],[5],[6],[7]],1)

print(m_c)

执行上述代码时,会产生以下结果 -[['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']]

从Matrix中删除一行

我们可以使用delete()方法从矩阵中删除一行。 我们必须指定行的索引以及轴值,对于行为0,对于列为1。from numpy import *

m = array([['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]])

m = delete(m,[2],0)

print(m)

执行上述代码时,会产生以下结果 -[['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']]

从Matrix中删除列

我们可以使用delete()方法从矩阵中删除列。 我们必须指定列的索引以及轴值,对于行为0,对于列为1。from numpy import *

m = array([['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]])

m = delete(m,s_[2],1)

print(m)

执行上述代码时,会产生以下结果 -[['Mon' '18' '22' '17']

['Tue' '11' '21' '18']

['Wed' '15' '20' '19']

['Thu' '11' '22' '21']

['Fri' '18' '23' '22']

['Sat' '12' '20' '18']

['Sun' '13' '19' '16']]

更新Matrix中的行

要更新矩阵行中的值,我们只需在行的索引处重新分配值。 在下面的示例中,thrursday数据的所有值都标记为零。 该行的索引是3。from numpy import *

m = array([['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]])

m[3] = ['Thu',0,0,0,0]

print(m)

执行上述代码时,会产生以下结果 -[['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']]

Python - 2-D Array

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值