জোশএডেলের সমাধানটি একটি মাত্রা যুক্ত করতে np.newaxis ব্যবহার করে। একটি বিকল্প ব্যবহার করা সম্প্রচার প্রস্তুতি মাত্রা সারিবদ্ধ পুনর্নির্মাণ () ।
data = np.array([[1,1,1],[2,2,2],[3,3,3]])
vector = np.array([1,2,3])
data
# array([[1, 1, 1],
# [2, 2, 2],
# [3, 3, 3]])
vector
# array([1, 2, 3])
data.shape
# (3, 3)
vector.shape
# (3,)
data / vector.reshape((3,1))
# array([[1, 1, 1],
# [1, 1, 1],
# [1, 1, 1]])
পুনর্নির্মাণ () পুনরায় সম্পাদন করার ফলে সম্প্রচারের জন্য মাত্রাগুলি সীমাবদ্ধ হতে দেয়:
data: 3 x 3
vector: 3
vector reshaped: 3 x 1
মনে রাখবেন যে data/vectorএটি ঠিক আছে, তবে এটি আপনি চান এমন উত্তর পান না। এটা প্রতিটি ভাগ কলাম এর array(প্রতিটি পরিবর্তে সারি প্রতিটি সংশ্লিষ্ট উপাদান দ্বারা) vector। এটা তোলে আপনি যদি সুস্পষ্টরূপে রূপ আপনি পেতে হবে কি vectorহতে 1x3পরিবর্তে 3x1।
data / vector
# array([[1, 0, 0],
# [2, 1, 0],
# [3, 1, 1]])
data / vector.reshape((1,3))
# array([[1, 0, 0],
# [2, 1, 0],
# [3, 1, 1]])