का अंतराल औसत मेरे पास दो 1 डी सरणी हैं, एक मापा डेटा के लिए और दूसरा स्थान के लिए।1 डी डेटा
temp = np.asarray([10, 9.6, 9.3, ..., -20.3, -21.0]) # Temperature in celsius
height = np.asarray([129, 145, 167, ..., 5043, 5112]) # Height in meters
आप देख सकते हैं, माप की ऊंचाई नियमित स्थान नहीं है: उदाहरण के लिए, मापा डेटा तापमान और अन्य सरणी माप की ऊंचाई हो सकता है।
मैं नियमित रूप से दूरी वाले अंतराल में औसत तापमान की गणना करना चाहता हूं। यह किसी प्रकार का चलती औसत है, लेकिन खिड़की का आकार परिवर्तनीय है, क्योंकि ब्याज के अंतराल के अंदर डेटा बिंदु हमेशा समान नहीं होता है।
यह निम्नलिखित तरीके से पाश के लिए एक साथ किया जा सकता है:
regular_heights = np.arange(0, 6000, 100) # Regular heights every 100m
regular_temps = []
for i in range(len(regular_heights)-1):
mask = np.logical_and(height > regular_heights[i], height < regular_heights[i+1])
mean = np.mean(temp[mask])
regular_temps.append(mean)
regular_temps = np.hstack((regular_temps))
मैं इस दृष्टिकोण पसंद नहीं है कि ज्यादा और अगर वहाँ एक और अधिक "numpy शैली" समाधान होगा मैं सोच रहा था।
आप एक "चलती औसत" या "मतलब नियमित स्थान के अंतराल में अस्थायी" करना चाहते हैं? यही है, यदि आपके पास एन अंतराल है, तो आप एन औसत चाहते हैं, या आप एक चलती खिड़की का उपयोग करके निरंतर औसत चाहते हैं (जो प्रत्येक स्थान पर ऊंचाई की एक सीमा फैलता है)? – tom10
जैसा कि मैंने अपने कमनेट में @elyase के जवाब में कहा है, मुझे शायद पहले नियमित अंतराल अंतराल में एक मतलब डालना होगा और फिर इसे एक स्पलीन के साथ चिकनी बनाना होगा। हालांकि, एक चलती औसत एक स्पलीन के साथ संयोजन में भी अच्छा हो सकता है। –