作者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/cn.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