位惱怒我一直無法得到這個自己,所以在這裏。調整numpy陣列軸的pythonic方法
說我有一個二維數組numpy的
import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
我在,我想爲0,這陣列中的列的情況,但保持原有的陣列。我可以
b = a.copy()
b[:,1] = 0
這樣做是爲了讓
array([[1, 0, 3],
[4, 0, 6],
[7, 0, 9]])
,或者如果我想零一系列的列,我可以做
b = a.copy()
b[:,[0,3]] = 0
得到
array([[0, 2, 0],
[0, 5, 0],
[0, 8, 0]])
b數組將只使用一個然後丟棄。
有沒有更多pythonic的方式來做到這一點,可以作爲一個班輪?我只想讓零值b數組通過一個繪圖程序,之後就不需要了。從本質上講,在調用繪圖函數之前,我不想額外增加兩行 - 如果我可以做到這一點,就像我打電話給我的例程一樣,它會更乾淨。例如
plotting_func(<numpy_magic_here>)
代替
b = a.copy()
b[:,1] = 0
plotting_func(b)
只爲永遠不會被再次使用
我能想到的俏皮話,但不一定是更簡單,更可讀...... – Julien
你爲什麼要創建了''的副本與零軸?是否可以改變你的繪圖功能,讓你只通過你關心的軸(即你不想要的零軸)?然後你可以在函數調用中用簡單的切片來完成它。 – user2229219
你不能只是將'a [:,[不是零的列]]'傳遞給繪圖函數嗎? –