gpt4 book ai didi

python-3.x - 天体表 : set data type from another table

转载 作者:行者123 更新时间:2023-12-04 08:54:11 25 4
gpt4 key购买 nike

我有一个 astropy.Table ,称之为 T :

  a      b     c      d
int32 float64 str1 float64
----- ------- ---- -------
1 2.0 0 10.0
4 5.0 1 20.0
5 8.5 2 30.0
我想从一个 numpy 数组创建另一个表,但具有与 T 相同的列和数据类型
import numpy as np
A = np.array([
[1, 2, 3, 4],
[5, 6, 7, 8]])
我可以创建一个具有相同列名的表
S = Table(A, names=T.colnames)
但是如果我也尝试传递数据类型
S = Table(A, names=T.colnames, dtype=T.dtype)
然后我得到一个错误 ValueError: dtype must be a list or None , 和 list(T.dtype)刚刚返回 TypeError: 'numpy.dtype' object is not iterable如何将数据类型从一个表传递到另一个表?

最佳答案

您可以使用当前版本的 astropy 执行此操作:

Table(A, names=T.colnames, dtype=[T[name].dtype for name in T.colnames])
这已经在 astropy 的 master 分支中得到了改进,在 astropy 的下一个版本 4.2 中,您可以简单地执行以下操作:
Table(A, dtype=T.dtype)

关于python-3.x - 天体表 : set data type from another table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63922787/

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