Numpy: calculate based on previous element?
Date : March 29 2020, 07:55 AM
should help you out Say that I have array x and y: , Lets build a few of the items in your sequence: y[0] = 2*y[1] + x[0]
y[1] = 2*y[0] + x[1] = 4*y[1] + 2*x[0] + x[1]
y[2] = 2*y[1] + x[2] = 8*y[1] + 4*x[0] + 2*x[1] + x[2]
...
y[n] = 2**(n+1)*y[1] + 2**n*x[0] + 2**(n1)*x[1] + ... + x[n]
n = len(x)
y_1 = 50
pot = 2**np.arange(n1, 1, 1)
y = np.cumsum(pot * x) / pot + y_1 * 2**np.arange(1, n+1)
>>> y
array([ 101, 204, 411, 826, 1657, 3320, 6647, 13302, 26613, 53236])

How to set single element of multi dimensional Numpy Array using another Numpy array?
Date : March 29 2020, 07:55 AM
I hope this helps . With a as the data array and idx as the array of indices such that each row corresponds to one element to be set in the data array, you could do  a[tuple(idx.T)] = 5
In [94]: a = np.zeros((2,2,3),dtype=int)
In [95]: idx = np.array([[0,0,0],[1,1,0],[0,1,2]])
In [96]: a[tuple(idx.T)] = 5
In [97]: a
Out[97]:
array([[[5, 0, 0],
[0, 0, 5]],
[[0, 0, 0],
[5, 0, 0]]])
In [98]: a[tuple(idx.T)] = [5,10,15] # or set different values
In [99]: a
Out[99]:
array([[[ 5, 0, 0],
[ 0, 0, 15]],
[[ 0, 0, 0],
[10, 0, 0]]])
np.put(a,np.ravel_multi_index(idx.T,a.shape),5)
a[idx[:,0],idx[:,1],idx[:,2]] = 5
a[tuple(idx)] = 5
In [118]: a = np.zeros((2,2,3),dtype=int)
In [119]: idx = np.array([0,0,0])
In [120]: a[tuple(idx)] = 5
In [121]: a
Out[121]:
array([[[5, 0, 0],
[0, 0, 0]],
[[0, 0, 0],
[0, 0, 0]]])

Update Numpy array based on conditions
Tag : python , By : Gilmar Souza Jr.
Date : March 29 2020, 07:55 AM
this one helps. I have a numpy array  short example  , Use cumsum to count how many zeros we've seen in each row so far: c = (x == 0).cumsum(axis=1)
array([[0, 1, 2, 2, 2, 2],
[0, 1, 2, 2, 3, 4],
[0, 0, 0, 0, 1, 2],
[0, 1, 2, 3, 4, 4],
[0, 0, 0, 0, 1, 1],
[0, 1, 2, 2, 3, 3]])
c = c.cumsum(axis=1)
np.select([c == 1, c > 1], [1, 0], 1)
array([[1, 1, 0, 0, 0, 0],
[1, 1, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 0],
[1, 1, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 0],
[1, 1, 0, 0, 0, 0]])
(c <= 1).astype(int)

Create numpy array based on multiple conditions on two numpy arrays
Tag : python , By : Matt Logan
Date : March 29 2020, 07:55 AM
Hope that helps The others gave examples how to do this in pure python. If you want to do this with arrays with 100.000 elements, you should use numpy: In [1]: import numpy as np
In [2]: vector1 = np.array([0,1,0,1,0,1])
In [3]: vector2 = np.array([0,0,1,1,2,2])
In [4]: sum_vector = vector1 + vector2 * 2
In [5]: print(sum_vector) # python3.x kaugh...
[0, 1, 2, 3, 4, 5]

Create a new numpy array based on conditions set out in numpy array
Date : March 29 2020, 07:55 AM

