Pythonデータサイエンスクックブック

(2順目)

レシピ7.6

ライブラリーの準備
basemapは1順目でinstallした。
データの準備
https://github.com/ipython-books/cookbook-dataからstorm.zipをdownload(Rawボタン押下)。展開して出てきたdataフォルダーごとcookbookのchapter07_statsフォルダーに移動。
(2項) pandasで読み込んだallstorms.ibtracs_wmo.v03r05.csvファイルは行186,054、列は16もある表でした。1848~2013年(166年間)

for col in df.columns:
    print(col)

として全ての列名を列挙した。

Serial_Num(通し番号)
Season(年)
Num
Basin
Sub_basin
Name
ISO_time(時刻)
Nature
Latitude(緯度)
Longitude(経度)
Wind(WMO)
Pres(WMO)
Center
Wind(WMO) Percentile
Pres(WMO) Percentile
Track_type  

(3項)
ファンシーインデックスで Serial_Num、Season、Basin、Latitude、Longitude列を抜き出し表示
(4項)
通し番号で1つの台風の位置情報をまとめ緯度、経度ごとに平均位置を算出。xが経度、yが緯度
(5項)
Basemapの引数

m = Basemap(projection='vandg', llcrnrlat=-65 ,urcrnrlat=85,llcrnrlon=-180, urcrnrlon=180)
projection:投影法(例 Cylindrical法:'cyl',Mercator法:'merc',Miller法:'mill',Gall Stereographic法:'gall'他 計33個の投影法がサポートされている様子。
llcrnrlat=-65 ,urcrnrlat=85:描画する緯度の範囲
llcrnrlon=-180, urcrnrlon=180:描画する経度の範囲  

ミラー図法(本の投影法)
f:id:bitop:20160321075339p:plain
メルカトル図法
f:id:bitop:20160321080115p:plain

描画の仕方もいろいろ指定できる
drawcoastlines:海岸線描画
fillcontinents:大陸描画?
drawcountries:国境描画
drawstates:州境描画
drawrivers:川の描画
大陸描画?
f:id:bitop:20160321080848p:plain
国境描画
f:id:bitop:20160321081102p:plain
州境描画
f:id:bitop:20160321081540p:plain
川の描画
f:id:bitop:20160321081456p:plain
(6項)
新しくできたh配列は2行6940、ということは6940÷166年=41.8個/年。1年に約42個の台風が発生していることになる。

(8項)
f:id:bitop:20160321084453p:plain