/ / अजगर में एक बहुआयामी सरणी में एक नया सरणी जोड़ना - अजगर, सरणियाँ, छोरों, बहुआयामी सरणी

पाइथन में एक बहुआयामी सरणी में एक नई सरणी जोड़ना - पायथन, सरणी, लूप, बहुआयामी-सरणी

मेरे पास एक संख्या है, जो निम्न प्रकार दिखता है:

np.array([
[23, 12, 4, 103, 87, 0.6],
[32, 18, 3, 120, 70, 0.6],
[43, 12, 8, 109, 89, 0.4],
[20, 13, 7, 111, 77, 0.8]
])

मैं इस सरणी को बदलना चाहता हूं, जहां अंतिम कॉलम अपना सरणी बन जाता है, जैसे कि यह इस तरह दिखाई देगा:

np.array([
[[23, 12, 4, 103, 87], [0.6]],
[[32, 18, 3, 120, 70], [0.6]],
[[43, 12, 8, 109, 89], [0.4]],
[[20, 13, 7, 111, 77], [0.8]]
])

इस बारे में जाने का सबसे अच्छा तरीका क्या होगा? मैं अजगर के लिए अपेक्षाकृत नया हूं और कुछ छोरों की कोशिश की है, लेकिन कोई फायदा नहीं हुआ। धन्यवाद!

उत्तर:

उत्तर № 1 के लिए 1

numpy इसके सरणी में लगातार आयामों की आवश्यकता होती है; यह दो अलग-अलग आकार देगा। आप या तो दो अलग-अलग चर का उपयोग कर सकते हैं (यानी समानांतर सरणियाँ):

X = data[:, :-1]
y = data[:, -1]

X = np.array([
[23, 12, 4, 103, 87],
[32, 18, 3, 120, 70],
[43, 12, 8, 109, 89],
[20, 13, 7, 111, 77],
])


y = np.array([
0.6, 0.6, 0.4, 0.8
])

या आप जोड़े की एक सूची स्टोर कर सकते हैं:

my_list = [(row[:-1], [row[-1]]) for row in data]
my_list = [
([23, 12, 4, 103, 87], [0.6]),
([32, 18, 3, 120, 70], [0.6]),
([43, 12, 8, 109, 89], [0.4]),
([20, 13, 7, 111, 77], [0.8])
]

सबसे अच्छी रणनीति आपके उपयोग के मामले पर निर्भर करती है।