gpt4 book ai didi

python - 如何堆叠多个 Astropy 表

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:45 24 4
gpt4 key购买 nike

我有一个 for 循环,它生成几个变量,例如 abc。我想在 for 循环结束后,垂直堆叠变量。这是我想做的。 (为了举例,假设变量只是数字(1,2,3))。

from astropy.table import Table
N1 = 3
N2 = 5
a = zeros((N2,N1))
b = zeros((N2,N1))
c = zeros((N2,N1))
for i in range(N2):
a[i] = range(N1)
b[i] = range(N1)
c[i] = range(N1)
t = Table([a[i], b[i], c[i]], names=('a', 'b', 'c'), meta={'name': 'first table'})

当我打印t时,我得到了

 a   b   c 
--- --- ---
0.0 0.0 0.0
1.0 1.0 1.0
2.0 2.0 2.0

我想要得到的是以下内容;

 a   b   c 
--- --- ---
0.0 0.0 0.0
1.0 1.0 1.0
2.0 2.0 2.0
0.0 0.0 0.0
1.0 1.0 1.0
2.0 2.0 2.0
0.0 0.0 0.0
1.0 1.0 1.0
2.0 2.0 2.0
0.0 0.0 0.0
1.0 1.0 1.0
2.0 2.0 2.0
0.0 0.0 0.0
1.0 1.0 1.0
2.0 2.0 2.0

非常感谢您的帮助。

最佳答案

如果您希望行数重复 n=5 次,您只需要使用 vstack ,类似于 numpy.vstack 如下:

>>>from astropy.table import vstack
>>>t1=vstack([t,t,t,t,t])
>>>print t1

a b c
--- --- ---
0.0 0.0 0.0
1.0 1.0 1.0
2.0 2.0 2.0
0.0 0.0 0.0
1.0 1.0 1.0
2.0 2.0 2.0
0.0 0.0 0.0
1.0 1.0 1.0
2.0 2.0 2.0
0.0 0.0 0.0
1.0 1.0 1.0
2.0 2.0 2.0
0.0 0.0 0.0
1.0 1.0 1.0
2.0 2.0 2.0

关于python - 如何堆叠多个 Astropy 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25045491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com