Wolfram言語

時系列の処理

インターネットソースからのデータ

五大湖の過去1年の日々の平均気温をダウンロードする.

In[1]:=
Click for copyable input
rawdata = Import["http://coastwatch.glerl.noaa.gov/ftp/glsea/avgtemps/glsea-\ temps_1024.dat", "Data"];

観測は第11行から始まる.

In[2]:=
Click for copyable input
rawdata[[;; 11]]
Out[2]=
In[3]:=
Click for copyable input
obs = rawdata[[11 ;;]];

観測の回数.

In[4]:=
Click for copyable input
Length[obs]
Out[4]=

湖のリストを定義する.

In[5]:=
Click for copyable input
lakes = {"Superior", "Michigan", "Huron", "Erie", "Ontario", "St. Clair"};
完全なWolfram言語入力を表示する
In[6]:=
Click for copyable input
en = {Entity["Lake", "LakeSuperior::52tvr"], Entity["Lake", "LakeMichigan::y3357"], Entity["Lake", "LakeHuron::5t8vh"], Entity["Lake", "LakeErie::6tm6r"], Entity["Lake", "LakeOntario::35gt7"], Entity["Lake", "LakeSaintClair::3r368"]}; markers = Map[Text[Style[ StringReplace[StringTrim[#["Name"], "Lake"], "Saint" -> "St."], Bold, 12, Black, FontFamily -> "Arial"], #["Position"], Right] &, en]; GeoGraphics[{EntityClass["Lake", "GreatLakes"], markers}, GeoCenter -> GeoPosition[{46, -84}], GeoRange -> {{40, 50}, {-93, -74}}, GeoBackground -> GeoStyling["ReliefMap", ColorFunction -> (ColorData["RedBlueTones"][1 - #] &)], ImageSize -> Medium]
Out[6]=

TimeSeriesのタイムスタンプとなる日付を生成する.

In[7]:=
Click for copyable input
dates = Table[ DatePlus[{obs[[k, 1]], 1, 1}, Quantity[obs[[k, 2]], "Days"]], {k, 1, Length[obs]}];

QuantityArrayを使って気温と単位を保存する.

In[8]:=
Click for copyable input
values = QuantityArray[obs[[All, 3 ;;]], "DegreesCelsius"]
Out[8]=

湖のリストを,後で,例えばプロット凡例を作成する等のために取り出すことのできるMetaInformationとして保存する.

In[9]:=
Click for copyable input
ts = TimeSeries[values, {dates}, MetaInformation -> {"Lakes" -> lakes}]
Out[9]=
In[10]:=
Click for copyable input
DateListPlot[ts, PlotLegends -> ts["Lakes"], PlotTheme -> "Detailed", FrameLabel -> Automatic]
Out[10]=

各湖の記述統計量を調べる.

In[11]:=
Click for copyable input
stats = {Min, Max, Mean, Median, StandardDeviation}; summary[lake_] := Map[#[lake] &, stats]
In[12]:=
Click for copyable input
TableForm[ Table[summary[ts["PathComponent", k]], {k, 1, Length[lakes]}], TableHeadings -> {lakes, stats}]
Out[12]//TableForm=

関連する例

de en es fr ko pt-br ru zh