मैं "संचयी न्यूनतम" सरणी की गणना करना चाहते हैं - मूल रूप से, प्रत्येक सूचकांक अप करने के लिए एक सरणी के न्यूनतम मूल्य जैसे:गिना जा रहा है संचयी न्यूनतम
import numpy as np
nums = np.array([5.,3.,4.,2.,1.,1.,2.,0.])
cumulative_min = np.zeros(nums.size, dtype=float)
for i,num in enumerate(nums):
cumulative_min[i] = np.min(nums[0:i+1])
यह काम करता है (यह रिटर्न सही सरणी ([5., 3., 3., 2., 1., 1., 1., 0.]) ), लेकिन अगर मैं कर सकता हूं तो मैं लूप से बचना चाहता हूं। मैंने सोचा कि यह 2-डी सरणी बनाने के लिए तेज़ हो सकता है और np.amin() फ़ंक्शन का उपयोग कर सकता है, लेकिन मुझे इसके लिए एक लूप की भी आवश्यकता है।
तुम भी ऊपरी त्रिकोण में मूल्यों के लिए अनंत इस्तेमाल कर सकते हैं, बल्कि 'nums.max से()': इस प्रकार,
numpy.minimum.accumulate
आप जो खोज रहे हैं है। – Blckknght@ ब्लैककॉन्ग ने इसे आजमाया, पहली नज़र में काम नहीं किया, इसलिए मैंने अधिकतम लिया ... मैंने फिर कोशिश की और अनंतता 'बी' के '0' भाग' को 'NaN' – koffein
में बदल देगी। त्रिभुज कार्यों के बारे में नहीं पता था, बहुत उपयोगी। –