我要写一个带3个参数的函数:Matrix 1,Matrix 2和数字p。这些函数输出矩阵1和矩阵2之间的差值大于p的条目数。我被告知不要使用循环。
我被建议使用X.sum()函数,其中X是一个ndarray。
我不知道该怎么做。
我想要做的第一件事是从M1中减去M2。现在我有条目,其中一个是或不大于p。
我试图找到一种方法给我们sum函数,但我恐怕无法看到它对我有什么帮助。
我唯一能想到的就是通过参赛作品,这是我不允许的。我很感激你的帮助。 也不允许递归。
答案 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()