में एक आयाम के साथ रिग्रेशन मुझे 4-आयामी numpy सरणी (एक्स, वाई, जेड, समय) मिला है और समय x आयाम के माध्यम से numpy.polyfit
करना चाहते हैं, प्रत्येक एक्स, वाई, जेड समन्वय पर । उदाहरण के लिए:एक numpy सरणी
import numpy as np
n = 10 # size of my x,y,z dimensions
degree = 2 # degree of my polyfit
time_len = 5 # number of time samples
# Make some data
A = np.random.rand(n*n*n*time_len).reshape(n,n,n,time_len)
# An x vector to regress through evenly spaced samples
X = np.arange(time_len)
# A placeholder for the regressions
regressions = np.zeros(n*n*n*(degree+1)).reshape(n,n,n,degree+1)
# Loop over each index in the array (slow!)
for row in range(A.shape[0]) :
for col in range(A.shape[1]) :
for slice in range(A.shape[2]):
fit = np.polyfit(X, A[row,col,slice,:], degree)
regressions[row,col,slice] = fit
मैं पाशन के सभी के माध्यम से जाने के बिना regressions
सरणी के लिए प्राप्त करना चाहते हैं। क्या यह संभव है?
[यह उत्तर] (http://stackoverflow.com/a/16315330/832621) आपके जैसी ही समस्या का एक उदाहरण देता है ... –
@SulloCastro निश्चित है - लेकिन वह उत्तर अभी भी कोई प्रदर्शन लाभ नहीं खरीदता है एक सामान्य पायथन लूप पर, जो अधिक पठनीय आईएमओ –