Why does this 1-D array in python get altered / re-defined while being autocorrelated? -
in python, have 1 1-d array coef defined follows:
coef = np.ones(frame_num-1)  in range(1,frame_num):     coef[i-1] = np.corrcoef(data[:,i],data[:,i-1])[0,1]  np.savetxt('serial_corr_results/coef_rest.txt', coef)   now want autocorrelation on it, , use code posted deltap in post:
timeseries = (coef) #mean = np.mean(timeseries) timeseries -= np.mean(timeseries) autocorr_f = np.correlate(timeseries, timeseries, mode='full') temp = autocorr_f[autocorr_f.size/2:]/autocorr_f[autocorr_f.size/2]   the autocorrelation works fine, however, when want plot or work original coef, values have changed of timeseries -= np.mean(timeseries).
why original array coef changed here , how can prevent being altered? need further down in script other operations.
also, operation -= doing? have tried google that, haven't found it. thanks!
numpy arrays mutable, e.g.
timeseries = coef           # timeseries , coef point same data timeseries[:] = 0   will set both timeseries , coef zero.
if do
timeseries = coef.copy()    # timeseries copy of coef own data timeseries[:] = 0   instead, coef remain untouched.
Comments
Post a Comment