TimeSeriesResample[tseries]
根据时间序列 tseries 的最小时间增量进行均匀重采样.
TimeSeriesResample[tseries,rspec]
按照重采样规范 rspec 对 tseries 进行重采样.
TimeSeriesResample
TimeSeriesResample[tseries]
根据时间序列 tseries 的最小时间增量进行均匀重采样.
TimeSeriesResample[tseries,rspec]
按照重采样规范 rspec 对 tseries 进行重采样.
更多信息和选项
- TimeSeriesResample 通常用于将不规则时间序列转换为规则时间序列,以便使用针对规则时间序列的算法(例如滤波操作). 它也可用于对齐多个时间序列.
- 给定一个时间序列,其时间戳为
,则可以生成一个时间戳为
、取值为 tseries[τi] 的重采样时间序列. - 时间序列 tseries 的可能形式包括:
-
TimeSeries[…] 连续的按时间排序的采样数据 TemporalData[…] 由时间-数值对组成的一条或多条路径 {{t1,x1},{t2,x2},…} 时间-数值对的列表 {x1,x2,…} 从 0 开始的隐含整数时间对应的值列表 - rspec 的基本设置包括:
-
dt 间隔为 dt 的均匀时间 
从
到
、间隔为 dt 的时间{{t1,t2,…}} 显式时间 {t1,t2,…} daytype 日期类型规范 - 可能的 dayspec 类型为:"Weekday"、"Weekend"、Monday 到 Sunday、"BeginningOfMonth"、"EndOfMonth"、"BusinessDay" 和 "Holiday".
- 如果 dt 被设为 Automatic,则采用 tseries 中的最小时间增量.
- 如果 tseries 包含多个路径,可以用到下列关于 rspec 的设置:
-
"Union" 使用出现在 tseries 中的所有时间点 "Intersection" 使用各个路径共有的时间点 {"Times",p} 使用路径 p 的时间点 - TimeSeriesResample 接受下列选项:
-
ResamplingMethod Automatic 用于重采样的方法 CalendarType Automatic 用于解释日期的日历系统 HolidayCalendar Automatic 工作日的假期日历 TimeZone Automatic 日期的时区规范
范例
打开所有单元 关闭所有单元基本范例 (2)
重采样一个 TimeSeries:
ts = TimeSeries[{1.2, 1.8, 1.3, .4, 1.5}, {{1, 2, 3, 4, 7}}]TimeSeriesResample[ts, .5]ListPlot[#, Filling -> {2 -> 0}]& /@ {ts, %}重采样一个多路径的 TemporalData:
data = RandomFunction[PoissonProcess[.3], {1, 50}, 3]ListPlot[data]rdata = TimeSeriesResample[data, 1];ListPlot[rdata]范围 (14)
基本用途 (3)
data = RandomFunction[PoissonProcess[30], {1, 5}]ListPlot[data]ds = TimeSeriesResample[data, .25]ListPlot[ds]data = RandomFunction[PoissonProcess[10], {1, 5}, 20]ListPlot[data]ds = TimeSeriesResample[data, 0.01]ListPlot[ds]ts = FinancialData["SBUX", {"March 2023"}];tsR = TimeSeriesResample[ts, "Day"]DateListPlot[#, Joined -> False, Filling -> 0]& /@ {ts, tsR}数据类型 (6)
data = {Subscript[x, 1], Subscript[x, 2], Subscript[x, 3], Subscript[x, 4], Subscript[x, 5]};TimeSeriesResample[data, 1 / 2]//SimplifyTimeSeriesResample[data, 2]data = {{1, Subscript[x, 1]}, {2, Subscript[x, 2]}, {3, Subscript[x, 3]}, {4, Subscript[x, 4]}, {5, Subscript[x, 5]}};TimeSeriesResample[data, 1 / 2]//SimplifyTimeSeriesResample[data, 2]重新抽样 TimeSeries:
data = TimeSeries[{{1, Subscript[x, 1]}, {2, Subscript[x, 2]}, {3, Subscript[x, 3]}, {4, Subscript[x, 4]}, {5, Subscript[x, 5]}}]TimeSeriesResample[data, 1 / 2]//Normal//SimplifyTimeSeriesResample[data, 2]//Normal//Simplify默认情况下,EventSeries 不会被插值:
data = EventSeries[{{1, Subscript[x, 1]}, {2, Subscript[x, 2]}, {4, Subscript[x, 4]}}]TimeSeriesResample[data, 1]//Normal设置 ResamplingMethod 会覆盖此设置:
TimeSeriesResample[data, 1, ResamplingMethod -> {"Constant", c}]//Normal给定单一路径,形式为 TemporalData:
data = TemporalData[{{1, Subscript[x, 1]}, {2, Subscript[x, 2]}, {3, Subscript[x, 3]}, {4, Subscript[x, 4]}, {5, Subscript[x, 5]}}]TimeSeriesResample[data, 1 / 2]["Path"]TimeSeriesResample[data, 2]["Path"]给定多个路径,形式为 TemporalData:
data = TemporalData[{{Subscript[x, 1], Subscript[x, 2], Subscript[x, 3], Subscript[x, 4], Subscript[x, 5]}, {Subscript[y, 1], Subscript[y, 2], Subscript[y, 3], Subscript[y, 4], Subscript[y, 5]}}, {1}]TimeSeriesResample[data, .5]["Paths"]TimeSeriesResample[data, 2]["Paths"]抽样 (5)
根据 TemporalData 中的最小时间增量进行重采样:
data = RandomFunction[PoissonProcess[3], {1, 100}]rdata = TimeSeriesResample[data]RegularlySampledQ /@ {data, rdata}data = RandomFunction[PoissonProcess[3], {1, 100}]Table[ListPlot[TimeSeriesResample[data, dt], PlotLabel -> dt], {dt, {1, 5, 10}}]data = FinancialData["APP", "2022"]TimeSeriesResample[data, Quantity[2, "Months"]]DateListPlot[{data, %}]ts = TimeSeries[Range[20], {DateObject[{2026, 1, 30}], Automatic, "Day"}]TimeSeriesResample[ts, "BusinessDay"]DateListPlot[{ts, %}, Joined -> {True, False}, Filling -> {2 -> 0}]TimeSeriesResample[ts, "Weekend"]DayName /@ %["Timestamps"]TimeSeriesResample[ts, Wednesday]%//Normaltd = TemporalData[{{{1, x1}, {2, x2}, {2.1, x3}, {3, x4}, {4, x5}}, {{1, y1}, {1.5, y2}, {2, y3}, {2.5, y4}, {3, y5}, {3.5, y6}, {5, y7}}}]TimeSeriesResample[td, "Union"]%["Times"]TimeSeriesResample[td, "Intersection"]%["Times"]TimeSeriesResample[td, {"Times", 1}]%["Times"]选项 (4)
ResamplingMethod (3)
data = TimeSeries[{1, 2, 3, 4}, {{1, 3, 4, 7}}]TimeSeriesResample[data, ResamplingMethod -> {"Interpolation", InterpolationOrder -> 2}]//NormalTimeSeriesResample[data]//Normaldata["ResamplingType"]将 ResamplingMethod 设为 None 会得到缺失的重采样值:
data = TimeSeries[{1, 2, 3, 4}, {{0, 3, 4, 6}}]TimeSeriesResample[data, 1, ResamplingMethod -> None]//Normaldata = TimeSeries[{10, 20, 40, 70}, {{.1, .5, .7, .9}}]TimeSeriesResample[data, ResamplingMethod -> {"Constant", Mean[data]}]//NormalHolidayCalendar (1)
data = TemporalData[Range[8], {DateObject[{2025, 4, 17}]}]TimeSeriesResample[data, "BusinessDay", HolidayCalendar -> "UnitedStates"]Normal[%]TimeSeriesResample[data, "BusinessDay", HolidayCalendar -> "Germany"]Normal[%]应用 (5)
stepdata = TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> True, "Count" -> 154,
"Endpoints" -> TabularColumn[Association[
"Data" -> {2, {{NumericArray[{15796, 15949}, "Integer32"], {}, None}}, None},
"ElementType" ... {}, None}, "ElementType" -> "Integer64"]],
Association["ResamplingMethod" -> "LinearInterpolation", "TimeObservationWindow" ->
DateInterval[{{{2013, 4, 1, 0, 0, 0.}, {2013, 9, 1, 0, 0, 0.}}}, "Day", "Gregorian", -6., "UT",
Automatic]]];weekdays = {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
wk = Map[TimeSeriesResample[stepdata, #]&, weekdays];avg = Map[Floor[Mean[#]]&, wk];BarChart[avg, ...]data = FinancialData["SBUX", "Close", {{2013, 12, 1}, {2013, 12, 31}}]RegularlySampledQ[data]根据 "BusinessDay" 重新抽样,使时间序列规则化:
ts = TimeSeriesResample[data, "BusinessDay"]RegularlySampledQ[ts]data["Path"] == ts["Path"]data = FinancialData["SBUX", "Close", {{2025, 11, 20}, {2026, 1, 5}}]TimeSeriesResample[data, ResamplingMethod -> "PreviousElement"]DateListPlot[%]用 AirPressureData 来研究在长岛麦克阿瑟机场,由飓风 Sandy 造成的气压变化:
pressure = AirPressureData["KISP", {DateObject[{2012, 10, 27}], DateObject[{2012, 10, 30}]}]DateListPlot[pressure, FrameLabel -> Automatic]RegularlySampledQ[pressure]res = TimeSeriesResample[pressure, {DateObject[{2012, 10, 27}], Automatic, "Hour"}]RegularlySampledQ[res]分开绘制各数据点,可以从中看出气压的变化情况,较大的间隔表示较快的变化:
DateListPlot[res, Joined -> False]ts = TimeSeries[TimeEventSeries`TimestampData[Association["UniformlySpacedQ" -> True, "Count" -> 365,
"Endpoints" -> TabularColumn[Association[
"Data" -> {2, {{{1388534400000, 1419984000000}, {}, None}}, None},
"ElementType" -> "Date"[" ... 7.78, 6.83, -1.39, -3.89, -4.06, -3.17, -0.72, -0.89, 7.78, 6.22, 2.28, 3.28, 8.17, 0.11,
-4.44, -2, -10.28}, {}, None}}, None}, "ElementType" ->
TypeSpecifier["Quantity"]["NumberExpression", "DegreesCelsius"]]], Association[]];ts["MinimumTimeIncrement"]monthlyTemps = TimeSeriesResample[ts, "Month"]monthlyTemps["MinimumTimeIncrement"]Comap[{Min, Mean, Max}, monthlyTemps]Comap[{Min, Mean, Max}, ts]DateListPlot[{ts, monthlyTemps}, PlotLegends -> {"daily temperatures", "resampled monthly"}, FrameLabel -> Automatic]属性和关系 (2)
ts = TimeSeries[{1, -1.4, -0.5, 2.2, 0.6, 3.5}, {0}]TimeSeriesResample[ts, .5]TimeSeriesResample[ts, 1.3]ts = TimeSeries[{1.2, 1.8, -.3, .4, 1.5}, {{1, 2, 3, 4, 7}}]TimeSeriesResample[ts, {0, 10, .5}]ListLinePlot[{ts, %}, Filling -> {1 -> 0}]文本
Wolfram Research (2014),TimeSeriesResample,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TimeSeriesResample.html (更新于 2026 年).
CMS
Wolfram 语言. 2014. "TimeSeriesResample." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2026. https://reference.wolfram.com/language/ref/TimeSeriesResample.html.
APA
Wolfram 语言. (2014). TimeSeriesResample. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TimeSeriesResample.html 年
BibTeX
@misc{reference.wolfram_2026_timeseriesresample, author="Wolfram Research", title="{TimeSeriesResample}", year="2026", howpublished="\url{https://reference.wolfram.com/language/ref/TimeSeriesResample.html}", note=[Accessed: 04-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_timeseriesresample, organization={Wolfram Research}, title={TimeSeriesResample}, year={2026}, url={https://reference.wolfram.com/language/ref/TimeSeriesResample.html}, note=[Accessed: 04-November-2026]}