作者oo855050 (阿偉)
看板Python
標題[問題] np.vstack的用法
時間Wed Apr 8 14:18:39 2020
版上大大好,
我想請問一下,我的代碼如下
希望用for loop進行資料的疊加
A = np.zeros((1,3)) # A用來儲存資料 (這邊只是先做初始化)
B = np.array([1,2,3])
for i in range(3):
if A.shape[0] == 1:
A = B
else:
A = np.vstack((A,B))
現在這個代碼是可行得,但總覺得寫法好像不夠簡潔
且我在程式內需要有很多類似的操作,所以想說是否有更好的寫法
這樣程式碼看起來也簡潔許多
麻煩版上各位幫忙解惑 > <
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.46.46 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1586326721.A.F98.html
※ 編輯: oo855050 (140.112.46.46 臺灣), 04/08/2020 14:20:19
1F:推 cuteSquirrel: 推測原PO想做垂直堆疊,試試看 tile 語法。 04/08 15:08
3F:→ cuteSquirrel: heighe可隨你想要的高度自己改變 04/08 15:11
4F:→ cuteSquirrel: height 04/08 15:11
6F:→ cuteSquirrel: 若有其他方向的array堆疊需求,也可依此類推。 04/08 15:16
7F:→ oo855050: 先感謝cute大的回覆,上面的code只是個示意而已XD 04/08 15:57
8F:→ oo855050: 實際上我要疊加的資料並不會完全都是一模一樣的=ˇ= 04/08 15:58
9F:推 cuteSquirrel: 了解 XD 04/08 16:01
10F:推 mirror0227: 既然A一開始要被取代掉,就不要在迴圈內指派,直接 v 04/08 18:50
11F:→ mirror0227: stack 最後去掉第一個就好了 04/08 18:50
12F:→ oo855050: mir大,這個想法我也有想過XD 不過感覺未來自己讀自己的 04/08 21:36
13F:→ oo855050: 程式時會沒那麼直觀=ˇ=所以才想說有沒有更好的寫法 04/08 21:36
14F:→ hsnuyi: 不說別的 如果要vstack數十萬行以上就會變的很慢 別這樣 04/08 23:00
15F:→ hsnuyi: 做 04/08 23:00
16F:→ hsnuyi: 看能不能直接在外面用sed或awk對csv操作就好 04/08 23:03
17F:推 TuCH: 可以先轉成list 在堆疊 效率比較高 04/09 08:33
18F:→ mirror0227: 我自己習慣這樣寫 04/09 13:48