Другой способ добиться этого с помощью структурированного массива:
>>> a = np.array([[3, 1, 2], [5, 8, 9], [7, 4, 3]])
>>> b = np.array([[2, 3, 0], [3, 1, 2], [7, 4, 3]])
>>> av = a.view([('', a.dtype)] * a.shape[1]).ravel()
>>> bv = b.view([('', b.dtype)] * b.shape[1]).ravel()
>>> np.intersect1d(av, bv).view(a.dtype).reshape(-1, a.shape[1])
array([[3, 1, 2],
[7, 4, 3]])
Просто для ясности структурированный вид выглядит следующим образом:
>>> a.view([('', a.dtype)] * a.shape[1])
array([[(3, 1, 2)],
[(5, 8, 9)],
[(7, 4, 3)]],
dtype=[('f0', '<i8'), ('f1', '<i8'), ('f2', '<i8')])
http://msdn.microsoft.com/en-us/library/0yf5t4e8.aspx
Это должно помочь.
Я верю тому, что Вы ищете, InstalledFontCollection. (Что было возможностями, что ОДНА часть кода, который потребовал .NET, будет относиться к чему-либо здесь! Это поражает!)