में किसी शर्त को पूर्ण करने के लिए एक numpy सरणी से केवल तत्व प्राप्त करने के लिए एक बहुत (त्वरित) त्वरित और कुशल तरीका होना चाहिए, या इसके टुकड़े से और भी दिलचस्प रूप से। मान लीजिए मैं एक numpy सरणी है:केवल उन मानों को प्राप्त करना जो एक numpy array
s = [9, 12, 13, 14]
मैं एक से तत्वों का चयन कर सकते हैं::
import numpy as np
a = np.arange(-10,10)
अब
अगर मैं एक सूची है
a[s] #array([-1, 2, 3, 4])
मैं एक (numpy हो सकता है) एक सारणी को पूरा करने वाले तत्वों से बना सरणी, यानी सकारात्मक (या नकारात्मक) हैं? यह परिणाम चाहिए
np.ifcondition(a[s]>0, a[s]) #array([2, 3, 4])
यह तुच्छ लग रहा है, लेकिन मैं एक साधारण और गाढ़ा अभिव्यक्ति को खोजने के लिए सक्षम नहीं था। मुझे यकीन है कि मास्क करते हैं लेकिन यह वास्तव में मुझे सीधे नहीं दिखता है। लेकिन दोनों ही ने:
a[a[s]>0]
a[s[a[s]>0]]
तथ्य अच्छे विकल्प में हैं।
सहायता के लिए धन्यवाद।
'np.clip' या' np.where' जैसे अधिकांश टूल सरणी के मूल आकार को छोड़ देते हैं, इसलिए वे वास्तव में मेरी ज़रूरत को पूरा नहीं करते हैं। – gluuke