
关于
Astropy 是天文学核心 Python 包,为天文研究和数据分析提供基础功能。
name: astropy description: "Astropy 是天文学核心 Python 包,为天文研究和数据分析提供基础功能。" license: BSD-3-Clause license metadata: skill-author: K-Dense Inc. risk: unknown source: "https://github.com/astropy/astropy"
Astropy
概述
Astropy 是天文学核心 Python 包,为天文研究和数据分析提供基础功能。使用 astropy 进行坐标变换、单位和物理量计算、FITS 文件操作、宇宙学计算、精确时间处理、表格数据操作和天文图像处理。
何时使用此技能
当任务涉及以下内容时使用 astropy:
- 在天球坐标系之间转换(ICRS、银道坐标、FK5、AltAz 等)
- 处理物理单位和物理量(将 Jy 转换为 mJy、秒差距转换为 km 等)
- 读取、写入或操作 FITS 文件(图像或表格)
- 宇宙学计算(光度距离、回溯时间、哈勃参数)
- 使用不同时间标度(UTC、TAI、TT、TDB)和格式(JD、MJD、ISO)进行精确时间处理
- 表格操作(读取星表、交叉匹配、过滤、连接)
- 像素坐标和世界坐标之间的 WCS 变换
- 天文常数和计算
快速开始
import astropy.units as u
from astropy.coordinates import SkyCoord
from astropy.time import Time
from astropy.io import fits
from astropy.table import Table
from astropy.cosmology import Planck18
# 单位和物理量
distance = 100 * u.pc
distance_km = distance.to(u.km)
# 坐标
coord = SkyCoord(ra=10.5*u.degree, dec=41.2*u.degree, frame='icrs')
coord_galactic = coord.galactic
# 时间
t = Time('2023-01-15 12:30:00')
jd = t.jd # 儒略日
# FITS 文件
data = fits.getdata('image.fits')
header = fits.getheader('image.fits')
# 表格
table = Table.read('catalog.fits')
# 宇宙学
d_L = Planck18.luminosity_distance(z=1.0)
核心功能
1. 单位和物理量(astropy.units)
处理带单位的物理量,执行单位转换,确保计算中的量纲一致性。
关键操作:
- 通过将数值与单位相乘创建物理量
- 使用
.to()方法在单位之间转换 - 执行带自动单位处理的算术运算
- 使用等价关系进行领域特定转换(光谱、多普勒、视差)
- 处理对数单位(星等、分贝)
参见: references/units.md 获取完整文档、单位系统、等价关系、性能优化和单位算术。
2. 坐标系统(astropy.coordinates)
表示天体位置并在不同坐标框架之间转换。
关键操作:
- 使用
SkyCoord在任何框架中创建坐标(ICRS、银道坐标、FK5、AltAz 等) - 在坐标系统之间转换
- 计算角距离和位置角
- 将坐标与星表匹配
- 包含距离以进行三维坐标操作
- 处理自行和径向速度
- 从在线数据库查询命名天体
参见: references/coordinates.md 获取详细的坐标框架描述、变换、观测者相关框架(AltAz)、星表匹配和性能提示。
3. 宇宙学计算(astropy.cosmology)
使用标准宇宙学模型执行宇宙学计算。
关键操作:
- 使用内置宇宙学模型(Planck18、WMAP9 等)
- 创建自定义宇宙学模型
- 计算距离(光度距离、共动距离、角直径距离)
- 计算年龄和回溯时间
- 确定任意红移处的哈勃参数
- 计算密度参数和体积
- 执行逆计算(根据给定距离求红移)
参见: references/cosmology.md 获取可用模型、距离计算、时间计算、密度参数和中微子效应。
4. FITS 文件处理(astropy.io.fits)
读取、写入和操作 FITS(灵活图像传输系统)文件。
关键操作:
- 使用上下文管理器打开 FITS 文件
- 按索引或名称访问 HDU(头数据单元)
- 读取和修改头信息(关键字、注释、历史)
- 处理图像数据(NumPy 数组)
- 处理表格数据(二进制表和 ASCII 表)
- 创建新的 FITS 文件(单扩展或多扩展)
- 对大文件使用内存映射
- 访问远程 FITS 文件(S3、HTTP)
参见: references/fits.md 获取完整的文件操作、头信息操作、图像和表格处理、多扩展文件和性能注意事项。
5. 表格操作(astropy.table)
处理支持单位、元数据和多种文件格式的表格数据。
关键操作:
- 从数组、列表或字典创建表格
- 以多种格式读写表格(FITS、CSV、HDF5、VOTable)
- 访问和修改列和行
- 排序、过滤和索引表格
- 执行数据库风格的操作(连接、分组、聚合)
- 堆叠和连接表格
兼容工具
Claude CodeCursor
标签
通用