I use RasterToNumPyArray all the time. What was your problem.
pth = r"C:\Temp\dem.tif"
pth = r"C:\Temp\myarray.tif"
a = RasterToNumPyArray(pth)
a.shape
Out[7]: (50, 50)
a
Out[8]:
array([[68, 33, 78, ..., 53, 39, 89],
[87, 88, 22, ..., 75, 7, 96],
[69, 51, 77, ..., 84, 69, 83],
...,
[73, 0, 1, ..., 29, 25, 88],
[81, 60, 94, ..., 28, 23, 68],
[47, 5, 55, ..., 19, 78, 9]])
a - a.mean()
array([[ 17.9472, -17.0528, 27.9472, ..., 2.9472, -11.0528, 38.9472],
[ 36.9472, 37.9472, -28.0528, ..., 24.9472, -43.0528, 45.9472],
[ 18.9472, 0.9472, 26.9472, ..., 33.9472, 18.9472, 32.9472],
...,
[ 22.9472, -50.0528, -49.0528, ..., -21.0528, -25.0528, 37.9472],
[ 30.9472, 9.9472, 43.9472, ..., -22.0528, -27.0528, 17.9472],
[ -3.0528, -45.0528, 4.9472, ..., -31.0528, 27.9472, -41.0528]])