  C RUBY-ON-RAILS MYSQL ASP.NET DEVELOPMENT RUBY .NET LINUX SQL-SERVER REGEX WINDOWS ALGORITHM ECLIPSE VISUAL-STUDIO STRING SVN PERFORMANCE APACHE-FLEX UNIT-TESTING SECURITY LINQ UNIX MATH EMAIL OOP LANGUAGE-AGNOSTIC VB6 MSBUILD # How to calculate each single element of a numpy array based on conditions ## How to calculate each single element of a numpy array based on conditions Tag : python , By : snk Date : January 12 2021, 08:33 AM

it should still fix some issue You could add the optional parameters on numpy.where(condition[, x, y]) to keep the same array size.
When True, yield x, otherwise yield y
``````np.where(array1 < 3, array1 ** 2, array1 / 3)
``````
``````array2 = np.random.randint(1, 11, 10)

>>> array2
Out[]: array([ 6,  1,  6,  2, 10,  4,  9, 10,  3,  3])

>>> np.where((array1 < 3) & (array1 > 5), array1 ** 2, array1 / 3)
Out[]:
array([ 0.33333333,  4.        ,  1.        ,  1.33333333,  1.66666667,
2.        ,  2.33333333,  2.66666667,  3.        ,  3.33333333])
`````` Boards Message : You Must Login Or Sign Up to Add Your Comments .

## Numpy: calculate based on previous element?

Tag : python , By : boney M
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 = 2*y[-1] + x
y = 2*y + x = 4*y[-1] + 2*x + x
y = 2*y + x = 8*y[-1] + 4*x + 2*x + x
...
y[n] = 2**(n+1)*y[-1] + 2**n*x + 2**(n-1)*x + ... + x[n]
``````
``````n = len(x)
y_1 = 50
pot = 2**np.arange(n-1, -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?

Tag : python , By : TC.
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 : a = np.zeros((2,2,3),dtype=int)

In : idx = np.array([[0,0,0],[1,1,0],[0,1,2]])

In : a[tuple(idx.T)] = 5

In : a
Out:
array([[[5, 0, 0],
[0, 0, 5]],

[[0, 0, 0],
[5, 0, 0]]])

In : a[tuple(idx.T)] = [5,10,15] # or set different values

In : a
Out:
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 : a = np.zeros((2,2,3),dtype=int)

In : idx = np.array([0,0,0])

In : a[tuple(idx)] = 5

In : a
Out:
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 : import numpy as np
In : vector1 = np.array([0,1,0,1,0,1])
In : vector2 = np.array([0,0,1,1,2,2])
``````
``````In : sum_vector = vector1 + vector2 * 2
In : 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

Tag : python , By : tayles
Date : March 29 2020, 07:55 AM 