मैं यह जानने की कोशिश कर रहा हूं कि मैं यहां क्या गलत कर रहा हूं।
मैं NumPy का उपयोग कर रहा हूं, और मेरे पास विशिष्ट पंक्ति सूचकांक और विशिष्ट कॉलम सूचकांक हैं जिनसे मैं चयन करना चाहता हूं। यहाँ मेरी समस्या का सार है:
import numpy as np
a = np.arange(20).reshape((5,4))
# array([[ 0, 1, 2, 3],
# [ 4, 5, 6, 7],
# [ 8, 9, 10, 11],
# [12, 13, 14, 15],
# [16, 17, 18, 19]])
# If I select certain rows, it works
print a[[0, 1, 3], :]
# array([[ 0, 1, 2, 3],
# [ 4, 5, 6, 7],
# [12, 13, 14, 15]])
# If I select certain rows and a single column, it works
print a[[0, 1, 3], 2]
# array([ 2, 6, 14])
# But if I select certain rows AND certain columns, it fails
print a[[0,1,3], [0,2]]
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# ValueError: shape mismatch: objects cannot be broadcast to a single shape
ये क्यों हो रहा है? निश्चित रूप से मुझे पहली, दूसरी और चौथी पंक्तियों और पहली और तीसरी कॉलम का चयन करने में सक्षम होना चाहिए? परिणाम मैं उम्मीद कर रहा हूँ:
a[[0,1,3], [0,2]] => [[0, 2],
[4, 6],
[12, 14]]