Sütunların farklı veri türleri içerdiği numpy.array
s var ve sütunlar da farklı işlevlere sahip olmalıdır. Bir dizide de fonksiyonlar var.Numpy: Aynı uzunlukta 2d-array değeri ile elemansal olarak çarparak bir fonksiyon dizisi uygulayın. (Operatör olarak bir python işlevi mi kullanıyorsunuz?)
Diyelim ki:
a = array([[ 1, 2.0, "three"],
[ 4, 5.0, "six" ]], dtype=object)
functions_arr = array([act_on_int, act_on_float, act_on_str])
kesinlikle şeyi bölerek bunu yapmak yollar geliyor
, ama bana yayın ile elementwise çarpma olarak düşünmek etmektir için en doğal görünüyor tek şey, ve işleçler olarak işlevler. O yüzden bu satırlar boyunca bir şey elde etmek için bir yol biliyor musunuz
array([[act_on_int(1), act_on_float(2.0), act_on_str("three")],
[act_on_int(4), act_on_float(5.0), act_on_str("six") ]])
etkisini
functions_arr*a
böyle bir şey yapmak ve almak istiyorum?
Düzenleme: insanlar dizi tipleri ben amaçlanan şekilde saklamak için bu önemlidir belirttiği gibi ben dtype=[object]
içerecek şekilde söz konusu dizinin tanımını değiştirdi.
Yanıtlarınız ve yorumlarınız için teşekkür ederiz! Gönderenleri yanıtlamayı kabul ettim ve bunun aklımdakilere çok yakın olduğunu hissediyorum. Ameliyat düşünün nasıl bir karışıklık, çarpma gibi olmak bana başka örnekle açıklığa kavuşturmak izin olmuştur görünüyor yana
:
Farkında gibi, benzeri bir operasyon:
v = array([1,2,3])
u = array([[5,7,11],
[13,17,19]])
v*u
u
sıraları üzerinde v
yayın yapacak ve
array([[ 1*5, 2*7, 3*11],
[1*13, 2*17, 3*19]])
yani
01 verir Şimdi biz olurdu mesela del operator için birliktev
yerine olsaydı
array([[ 5, 14, 33],
[13, 34, 57]])
(aşağıdaki aslında piton kodunu :)
V = array([(d/dx),(d/dy),(d/dz)])
u = array([[5,7,11],
[13,17,19]])
V*u
ruhu içinde (elde)
çalışma değil olduğunuarray([[(d/dx)5, (d/dy)7, (d/dz)11]],
[(d/dx)13,(d/dy)17,(d/dz)19]])
Bir demet sabitin türevini kabul etmeyeceğimi itiraf ediyorum. operasyonların ilginç, bu yüzden x
, y
ve z
bazı sembolik matematiksel ifadesi ile u
değiştirmek için çekinmeyin. Her halükarda, en azından bu konudaki gerekçelendirme (“bir python işlevini operatör olarak kullanma”) konusundaki mantığım ve netliği daha da açık bir şekilde ortaya koyarım.
Bu sorunun cevabının sanmıyorum. OP bu durumda nasıl yayın yapılacağını sordu. Bu kod yayın yapmıyor. –