python矩阵后加点_Python Numpy和矩阵的相关面试问题

本文详述了Python中Numpy处理矩阵的常见面试问题,包括矩阵反转、矩阵乘法、转置及矩阵加法。通过实例代码展示了如何使用Numpy的flatten、reshape、dot等方法进行矩阵操作,并探讨了非Numpy数组的处理方式。
摘要由CSDN通过智能技术生成

通常,数据科学家被要求在Python中执行简单的矩阵运算,这应该很简单,但许多人会偏离正轨。

本文将介绍面试中经常出现的4个Numpy/matrix问题,并用Python编写代码。

问题1:

给定4x4 Numpy矩阵,如何反转矩阵?

# 步骤0:构造一个4*4 Numpy矩阵

import numpy as np

matrix = np.arange(1,17).reshape(4,4)

print(matrix)

[[ 1 2 3 4]

[ 5 6 7 8]

[ 9 10 11 12]

[13 14 15 16]]

旁注,np.arange(1,17) 返回一个Numpy数组,并*reshape(4,4)生成一个44矩阵。

# 步骤1:展平numpy数组

matrix_flat = matrix.flatten()

matrix_flat

array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])

有两种方法可以根据数据类型展平矩阵。对于Numpy数组,我们使用np.array.flatten() ;对于非数组矩阵,我们用matrix.ravel(). 请试一试。

# 步骤2:将元素读入一个新的矩阵

matrix_reversed = matrix_flat[::-1]

matrix_reversed

array([16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1])

展平后,我们从最后一个元素开始向后读取矩阵。

# 步骤3: 将矩阵重塑为4*4矩阵

matrix_reversed.reshape(4,4)

最后,我们重塑矩阵并将其转换回4*4矩阵,如下所示:

array([[16, 15, 14, 13],

[12, 11, 10, 9],

[ 8, 7, 6, 5],

[ 4, 3, 2, 1]])

Numpy数组或矩阵的独特属性是,必须在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值