查找满足矩阵中某些内容的值的数量,而不使用循环。蟒蛇

时间:2015-06-19 21:10:53

标签: python numpy

我要写一个带3个参数的函数:Matrix 1,Matrix 2和数字p。这些函数输出矩阵1和矩阵2之间的差值大于p的条目数。我被告知不要使用循环。

我被建议使用X.sum()函数,其中X是一个ndarray。

我不知道该怎么做。

我想要做的第一件事是从M1中减去M2。现在我有条目,其中一个是或不大于p。

我试图找到一种方法给我们sum函数,但我恐怕无法看到它对我有什么帮助。

我唯一能想到的就是通过参赛作品,这是我不允许的。我很感激你的帮助。 也不允许递归。

1 个答案:

答案 0 :(得分:1)

import pandas as pd
# Pick value of P
p = 20
# Instantiate fake frames
a = pd.DataFrame({'foo':[4, 10], 'bar':[34, -12]})
b = pd.DataFrame({'foo':[64, 0], 'bar':[21, 354]})
# Get absolute value of difference
c = (b - a).applymap(abs)
# Boolean slice, then sum along each axis to get total number of "True"s
c.applymap(lambda x: x > p).sum().sum()