Q:

PSD of signal in numpy and how to scale it

I am trying to compute and plot the power spectral density (PSD) of a stochastic signal. 
Reading the numpy documentation for np.fft.fft, it mentions that if A = fft(a) then np.abs(A) is its amplitude spectrum and np.abs(A)**2 is its power spectrum.  
My question is, does it take care of the necessary division (one typically have to do in Matlab) over the number of bins etc to scale it properly? 
For example, if x is my original signal is in V (Volts) and I do:
X = np.fft(x)
X = np.abs(X) #is that in Volts/Hz too?  
              #Do I have to divide by len(X) or anything else to scale it? 
P = X**2      #is that in V^2/Hz?  Do i have do do anything to scale it properly? 

I believe numpy doc could have elaborated a little bit more on that.  In Matlab I know you have to take care of it by yourself, but what is the case in numpy? 

A:

Oh man, the "necessary division" is a pain but you'll have to do it.  Definitions are all over the place for something like a power spectral density, varying between physics and electrical engineering, etc.  They vary between fields a lot, and you'll have to work out the desired prefactor yourself.  Thankfully, the convention used in np.fft is spelled out in full detail:
http://docs.scipy.org/doc/numpy/reference/routines.fft.html
I have needed to muck around heavily with the prefactors of numpy FFTs myself for my own (physics) applications before.  Thankfully I can attest that the docs are accurate.  Get out some pencil and paper, and good luck! 
EDIT: The answer to your comments asking about V / Hz and V^2 / Hz is definitely no.  Just look at the units.  If you have a time series in voltage, its (discrete) Fourier transform still has units of volts.  You have to paste in the time-steps, etc.,  to get the desired dimensions.  I often first try to figure out how to go from the numpy FFT to a formal (integral) Fourier transform which is usually defined in the theoretical work you're working in.  Going from there is usually relatively smooth sailing. 
EDIT #2: For posterity, np.fft and the matlab fft are identical except that the former has zero-based indexing and the latter has one-based indexing.  So if you have your desired behavior in matlab, yes, just carry over your division by the length, etc.,  and you'll be good to go.  Just remember, when retrieving values or setting up the x-axis of a plot, that zero frequency shows up at A[0] for python and A(1) for matlab.