How can I get maximum complex value from an array of complex values(524289) in python?
"Maximum" is ambiguous when it comes to complex values.  The complex value itself doesn't have a min or max.  Which is greater, 1+0j or 0+1j?  What about 1+0j and 0+.5j?  The answer to these questions determines what exactly what you want to do.

You can get the maximum real part (max(1+0j, 0+10j) == 1), maximum imaginary part (max(10+0j, 0+1j) == 1), maximum absolute value (max(10+0j, 0+1j) == 10, max(1+0j, 0+10j) == 10), complex value with the maximum real part (max(1+0j, 0+10j) == 1+0j), complex value with the maximum imaginary part (max(10+0j, 0+1j) == 0+1j), or complex value with the maximum absolute value (max(10+0j, 0+1j) == 10+0j, max(1+0j, 0+10j) == 0+10j).  All are possible with numpy arrays.  

The default in numpy (arr.max() or np.max(arr) when arr is complex) is the complex value with the maximum real part.

import numpy as np

arr = np.random.random(1000)+np.random.random(1000)*1j  # generate example data

maxreal = arr.real.max()  # maximum real part
maximag = arr.imag.max()  # maximum imaginary part
maxabs = np.abs(arr).max()  # maximum absolute value

maxcompreal = arr[arr.real.argmax()]  # complex value with maximum real part
maxcomp = arr.max()  # complex value with maximum real part, same as above
maxcompimag = arr[arr.imag.argmax()]  # complex value with maximum imaginary part
maxcompabs = arr[np.abs(arr).argmax()]  # complex value with maximum absolute value