اذهب إلى المحتوى

السؤال

نشر

لنفترض أن لدي مصفوفة x * z . أريد أن أمرر كل عمود من هذه المصفوفة إلى دالة لأداء بعض العمليات على العمود بأكمله. كيف يمكنني المرور على أعمدة المصفوفة من خلال حلقة for؟

أي ما أريد فعله كالتالي:

import numpy as np
arr = np.array([[21. , 12.3, 33. ],
       [ 9. ,  1.4, 53.5],
       [23. ,  1. , 71. ]])
for col in arr:
  fun(col)	# يتم تمرير كل عمود إلى الدالة

 

Recommended Posts

  • 1
نشر (معدل)

فقط قم بالمرور على مصفوفة المنقول وتمريرها :

import numpy as np    
array = np.array([[1, 2, 7],[4,3,1]])
array
"""
array([[1, 2, 7],
       [4, 3, 1]])
"""
# الآن نريد تمرير الأعمدة للتابع
for column in array.T:
   print (column)
"""
[1 4]
[2 3]
[7 1]
"""
# وبالتالي
for column in array.T:
   fun (column)

أو من خلال np.hsplit:

for column in np.hsplit(array, array.shape[1]):
    print(column)
# أي سيتم تمريرهم بالشكل
"""
[[1]
 [4]]
[[2]
 [3]]
[[7]
 [1]]
"""
# وبالتالي
for column in np.hsplit(array, array.shape[1]):
    fun(column)

 

تم التعديل في بواسطة Ali Haidar Ahmad

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...