我想知道是否有一种可以减去值的方法?与sum
示例
> np.array([[10, 2], [1, 2]]).sum()
15
" imaginary method "
> np.array([[10, 2], [1, 2]]).sub()
6
# axis = 1
> np.array([[10, 2], [1, 2]]).sum(axis=1)
array([12, 3])
" imaginary method "
> np.array([[10, 2], [1, 2]]).sum(axis=1)
array([8, -1])
# axis = 0
> np.array([[10, 2], [1, 2]]).sum(axis=0)
array([11, 4])
"imaginary"
> np.array([[10, 2], [1, 2]]).sub(axis=0)
array([9, 0])
我很沮丧,我无法在文档中找到任何东西(如果您不知道要查找的内容,那么numpy文档就不容易使用)。
谢谢。
答案 0 :(得分:2)
与from tesserocr import PyTessBaseAPI, RIL, iterate_level
def get_font(image_path):
with PyTessBaseAPI() as api:
api.SetImageFile(image_path)
api.Recognize()
ri = api.GetIterator()
level = RIL.SYMBOL
for r in iterate_level(ri, level):
symbol = r.GetUTF8Text(level)
word_attributes = r.WordFontAttributes()
if symbol:
print u'symbol {}, font: {}'.format(symbol, word_attributes['font_name'])
get_font('logo.jpg')
相等的差异是np.sum()
答案 1 :(得分:0)
np.sum
是np.add.reduce
:
In [87]: np.add.reduce(arr, axis=0)
Out[87]: array([11, 4])
In [88]: np.add.reduce(arr, axis=1)
Out[88]: array([12, 3])
也有subtract
ufunc
:
In [93]: np.subtract.reduce(arr, axis=0)
Out[93]: array([9, 0])
In [94]: np.subtract.reduce(arr, axis=1)
Out[94]: array([ 8, -1])
np.diff
进行切片减法:
In [97]: np.subtract(arr[:-1,:], arr[1:,:])
Out[97]: array([[9, 0]])
In [98]: np.subtract(arr[:,:-1], arr[:,1:])
Out[98]:
array([[ 8],
[-1]])
对于两个元素diff
和subtract.reduce
做同样的事情。如果您的行或列多于2个,应该怎么办?
In [109]: arr = np.array([[10, 2, 3], [1, 2, 4], [0, 1, 2]])
In [110]: arr
Out[110]:
array([[10, 2, 3],
[ 1, 2, 4],
[ 0, 1, 2]])
diff
进行成对减法,第1行的第0行,第2行的第1行:
In [111]: np.diff(arr, axis=0)
Out[111]:
array([[-9, 0, 1],
[-1, -1, -2]])
subtract.reduce
进行累加,可能更容易采用accumulate
替代:
In [112]: np.subtract.reduce(arr, axis=0)
Out[112]: array([ 9, -1, -3])
In [113]: np.subtract.accumulate(arr, axis=0)
Out[113]:
array([[10, 2, 3],
[ 9, 0, -1],
[ 9, -1, -3]])