How to get array after adding a number to specific data of that array?
<pre><code>import numpy as np 
import xlrd
import xlwt

wb = xlrd.open_workbook('Scatter plot.xlsx')
workbook = xlwt.Workbook() 

sheet = workbook.add_sheet("Sheet1")

sh1 = wb.sheet_by_name('T180')
sh2=wb.sheet_by_name("T181")

x= np.array([sh1.col_values(1, start_rowx=51, end_rowx=315)])
y= np.array([sh1.col_values(2, start_rowx=51, end_rowx=315)])

x1= np.array([sh2.col_values(1, start_rowx=50, end_rowx=298)])
y1= np.array([sh2.col_values(2, start_rowx=50, end_rowx=298)])

condition = [(x1&lt;=1000) &amp; (x1&gt;=0) ]
condition1 = [(y1&lt;=1000) &amp; (y1&gt;=0) ]

x_prime=x1[condition]-150
y_prime= y[condition1]+20

plt.plot(x,y, "ro", label="T180")
plt.plot(x_prime,y_prime,"gs")
plt.show()
</code></pre>

<p>I want to subtract 150 from the values less than 1000 of x1 array and finally I need all values (subtracted+remaining). But with this code I got only the values that are less than 1000. But I need both (less than 1000+ greater than 1000). But greater than 1000 values will be unchanged. How can I will do this. As you can see there 248 elements in x1 array so after subtraction I will need 248 element as <strong>x_prime</strong>. Same as for y. Thanks in advance for your kind co-operation. </p>

<pre><code>import numpy as np 
#random initialization
x1=np.random.randint(1,high=3000, size=10)

x_prime=x1.tolist()

for i in range(len(x_prime)):
    if(x_prime[i]&lt;=1000 and x_prime[i]&gt;=0): 
        x_prime[i]=x_prime[i]-150

x_prime=np.asarray(x_prime)  
</code></pre>

<p><strong>Answer:</strong></p>

<pre><code>x1
Out[151]: array([2285, 2243, 1716,  632, 2489, 2837, 2324, 2154,  562, 2508])

x_prime
Out[152]: array([2285, 2243, 1716,  482, 2489, 2837, 2324, 2154,  412, 2508])
</code></pre>

python arrays subtraction