I have a NumPy array of size 94 x 155:
a = [1 2 20 68 210 290.. 2 33 34 55 230 340.. .. .. ... ... .... .....]
I want to calculate the range of each row, so that I get 94 ranges in a result. I tried looking for a numpy.range
function, which I don't think exists. If this can be done through a loop, that's also fine.
I'm looking for something like numpy.mean
, which, if we set the axis parameter to 1, returns the mean for each row in the N-dimensional array.
In this case axis=1 means you want to find the range of each row of your data so it would return a N element numpy array where N is the number of rows. If axis=0 , it would find the range of each column independently.
NumPy arange() is one of the array creation routines based on numerical ranges. It creates an instance of ndarray with evenly spaced values and returns the reference to it. You can define the interval of the values contained in an array, space between them, and their type with four parameters of arange() : numpy.
The "array" is called list in Python. arrayX = [] . for i in range(20080711, 20080714): arrayX. append(i) This will result [20080711, 20080712, 20080713, 20080714] .
I think np.ptp
might do what you want:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.ptp.html
r = np.ptp(a,axis=1)
where r
is your range array.
Try this:
def range_of_vals(x, axis=0): return np.max(x, axis=axis) - np.min(x, axis=axis)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With