gpt4 book ai didi

python - 将 astropy 表转换为字典列表

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:08 25 4
gpt4 key购买 nike

我有一个保存星星数据的 astropy.table.table 对象。每颗星一行,列中包含星名、最大星等数据。

我知道 astropy 表的内部表示是每一列的字典,行作为字典对象的切片即时返回。

我需要将 astropy 表转换为 Python 字典对象列表,每个星一个字典。本质上,这既是表格的转置,也是转换。

我显然可以按行中的列遍历表格,以构建字典并将它们添加到列表中,但我希望有更有效的方法吗?'

最佳答案

这是一个想法。我不确定你是否可以更有效率,除非表很大,最好先使用 .as_array() 转换为纯 Numpy 数组:

In [1]: from astropy.table.table_helpers import simple_table

In [2]: t = simple_table()

In [3]: t
Out[3]:
<Table length=3>
a b c
int64 float64 str1
----- ------- ----
1 1.0 c
2 2.0 d
3 3.0 e

In [4]: names = t.colnames

In [5]: [dict(zip(names, row)) for row in t]
Out[5]:
[{'a': 1, 'b': 1.0, 'c': 'c'},
{'a': 2, 'b': 2.0, 'c': 'd'},
{'a': 3, 'b': 3.0, 'c': 'e'}]

关于python - 将 astropy 表转换为字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53694408/

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