You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Astropy生态中合并多个夜间观测的TimeSeries对象?

合并多个Astropy TimeSeries的解决方案

错误原因

你用add_row()的方式不对,这个方法是用来添加单行数据的,不能直接传入整个TimeSeries的批量数据,所以会触发time列的异常。

正确实现方法

Astropy的TimeSeries继承自Table,可以直接用astropy.table.vstack()来按行堆叠多个TimeSeries对象,不需要写入磁盘,步骤如下:

  1. 导入所需模块
from astropy.timeseries import TimeSeries
from astropy.table import vstack
  1. 批量读取所有CSV文件为TimeSeries并存入列表
# 替换成你的实际文件路径列表
file_paths = ['night1_data.csv', 'night2_data.csv', 'night3_data.csv']

ts_collection = []
for path in file_paths:
    # 读取单个文件为TimeSeries
    ts = TimeSeries.read(
        path,
        format='ascii.csv',
        time_column='mjd',
        time_format='mjd'
    )
    ts_collection.append(ts)
  1. 合并所有TimeSeries
# 按行堆叠得到合并后的TimeSeries
combined_ts = vstack(ts_collection)

补充说明

  • 合并后的combined_ts仍然是标准的TimeSeries对象,保留所有原有的列属性和Time列的时间格式
  • 如果你的多个TimeSeries列结构完全一致,vstack会自动完成合并;如果有列差异,可以通过join_type参数调整合并规则(比如join_type='inner'只保留共有的列)

内容的提问来源于stack exchange,提问作者Lipto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 02:51:02