Python两个冒号:python比较两个矩阵

关于Python两个冒号的问题,在compare two matrices python中经常遇到, 在下面显示的矩阵中,我想匹配两个矩阵中的第一个元素,如果第一个元素相等,那么我需要匹配两个矩阵中的第二个元素,依此类推。

在显示的矩阵中,我想匹配两个矩阵中的第一个元素,如果第一个元素相等,那么我需要匹配两个矩阵中的第二个元素,依此类推。

我的问题是如何以最佳方式也为 m * n,其中 m = n 总是

 for i in a1:
     for j in a2:
        if i!=j:
           break
         else:
           //compare the next corresponding columns and print "same" or "not same"
 a1=[1,44,55],[2,33,66],[3,77,91]  
 a2=[1,44,55],[2,45,66],[3,77,91]    
 OR 
 a1=[1,44,55]
    [2,33,66]
    [3,77,91]  
 a2=[1,44,55]
    [2,45,66]
    [3,77,91]  
14

由于浮点舍入错误,您可能会遇到一些问题。

>>> import numpy as np
>>> x = np.array(1.1)
>>> print x * x
1.21
>>> x * x == 1.21
False
>>> x * x
1.2100000000000002
>>> np.allclose(x * x, 1.21)
True

要比较两个数值矩阵是否相等,建议您使用np.allclose()

>>> import numpy as np
>>> x = np.array([[1.1, 1.3], [1.3, 1.1]])
>>> y = np.array([[1.21, 1.69], [1.69, 1.21]])
>>> x * x
array([[ 1.21,  1.69],
       [ 1.69,  1.21]])
>>> x * x == y
array([[False, False],
       [False, False]], dtype=bool)
>>> np.allclose(x * x, y)
True
10

a1 == a2有什么问题?

In [1]: a1=[[1,44,55],
   ...:     [2,33,66],
   ...:     [3,77,91]]
In [2]: a2=[[1,44,55],
   ...:     [2,45,66], # <- second element differs
   ...:     [3,77,91]]
In [3]: a1 == a2
Out[3]: False
In [4]: a1=[[1,44,55],
   ...:     [2,33,66],
   ...:     [3,77,91]]
In [5]: a2=[[1,44,55],
   ...:     [2,33,66],
   ...:     [3,77,91]]
In [6]: a1 == a2
Out[6]: True
6

如果您使用的是 numpy 数组,请使用.all().any()

x = np.array([[1, 2, 3], [4, 5, 6]])
y = np.array([[1, 2, 3], [4, 5, 6]])
x.all() == y.all()
>> True
x = np.array([[1, 2, 3], [4, 5, 6]])
y = np.array([[11, 21, 31], [41, 4, 61]])
x.any() == y.any()
>> True (since x[1][0] == y[1][1])
1

如果你想对矩阵进行运算,numpy是你可以使用的最好的库

In [11]: a = numpy.matrix([[1,44,55],
    ...:                   [2,33,66],
    ...:                   [3,77,91]])
In [12]: b = numpy.matrix([[1,44,55],
    ...:                   [2,45,66],
    ...:                   [3,77,91]])
In [13]: a == b
Out[13]: 
matrix([[ True,  True,  True],
        [ True, False,  True],
        [ True,  True,  True]], dtype=bool)

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(68)
Python处理表格:是否有任何面向对象的方法或模式来处理表格数据
上一篇
Python总结心得:总结 Python中的数组字典
下一篇

相关推荐

  • python中def用法详解定义函数的基本方法

    示例示例def 关键字用于定义函数,是Python中定义函数的必备关键字,它的语法格式如下:def 函数名(参数列表):…

    2023-04-14 01:48:49
    0 33 57
  • python股票数据:利用Python技术分析股票市场行情

    Python股票数据是指通过Python编程语言从股票市场获取股票数据的过程。它可以帮助投资者快速、准确地获取当前股票的价格、成交量和其他相关信息,以便做出更好的投资决策。…

    2023-06-27 08:07:46
    0 95 39
  • python乘法表倒三角9×9

    Python乘法表倒三角是指以下形式的乘法表:1*1=1…

    2023-05-02 12:43:17
    0 36 63
  • python图片文字识别代码解锁新的信息发现之旅

    Python图片文字识别代码是使用Python语言来实现从图片中识别文字的功能,可以帮助我们快速提取图片中的文字信息。下面是一段Python图片文字识别的代码:…

    2023-04-29 01:22:43
    0 12 34
  • python画波形图探索数据的时间序列趋势

    Python可以使用库来绘制波形图。下面是一个简单的例子,使用正弦函数绘制一个波形图:…

    2023-05-10 08:55:12
    0 59 15
  • python的yield方法:利用Python的yield方法提升编程效率

    示例示例yield 是一个类似 return 的关键字,只是这个函数返回的是一个生成器。Python 中 yield 的作用就是把一个函数变成一个 ,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 ,调用 yield 的函数不再是调用函数,而是生成一个 。…

    2023-04-10 04:13:58
    0 89 93
  • python灰度化:如何使用Python实现图像灰度化

    Python灰度化是指将图像从彩色变为灰度图像的过程,使用灰度图像可以更容易地识别和处理图像中的特征。Python灰度化的代码如下:…

    2023-04-21 01:15:37
    0 63 36
  • python入参:从Python参数创建可靠的应用程序

    Python入参是指在Python函数中传递参数的方式。Python函数可以接受不定数量的参数,可以是位置参数、关键字参数、默认参数、可变参数和命名参数。下面是一个示例代码:…

    2024-02-28 07:41:01
    0 97 51

发表评论

登录 后才能评论

评论列表(55条)