【はじめに】この記事でできるようになること
「データ分析や統計学に興味はあるけれど、プログラミングの準備が難しそう…」 そんなお悩みを解決するのが、Googleが無料で提供している「Google Colab(グーグル・コラボ)」です。
この記事では、Python(パイソン)というプログラミング言語を使って、「世界中のオープンデータをインターネットから自動で集め、美しいグラフにする」という一連の流れを、実際に手を動かしながら体験します。
今回は身近なテーマとして「世界の主要都市の気象データ」を使います。 記事の最後には、皆さんがご自身で実行・アレンジできる実際のコードと共有リンクもご用意していますので、ぜひ最後までお付き合いください!
本記事のアジェンダ
- プログラミングの準備は一切不要!「Google Colab」とは?
- 知っておきたい基本用語(API、Pandasなど)
- 実践:世界の気温データを自動収集してグラフ化してみよう
- この技術がもたらす無限の可能性(ビジネス・投資・トレンド分析への応用)
- 次のステップ:統計学の学びへ
1. プログラミングの準備は一切不要!「Google Colab」とは?
通常、Pythonなどのプログラミングを始める際は、自分のパソコンに専用のソフトをインストールする「環境構築」という高いハードルがあります。ここで挫折してしまう初心者の方も少なくありません。
しかし、Google Colaboratory(通称:Google Colab)を使えば、その必要は一切ありません。 Googleアカウントさえあれば、ブラウザ上で今すぐPythonを動かすことができます。しかも、データ分析に必要な強力なツール群が最初からセットになっている、まさに魔法のような環境です。
今回作成した実際のColabノートブックは以下から確認・実行できます。

2. 初心者のための、知っておきたい基本用語解説
コードを動かす前に、今回登場する重要なキーワードを3つだけ簡単に解説します。難しく考えず、「そういう便利な道具があるんだな」くらいの認識で大丈夫です!
- Python(パイソン)
- シンプルで読みやすいプログラミング言語です。AI(人工知能)の開発やデータの集計・分析に非常に強く、世界中で最も人気のある言語の一つです。
- API(エーピーアイ)
- Application Programming Interfaceの略。簡単に言うと「他のサービスからデータを安全に引っ張ってくるための専用の窓口」です。今回は「Open-Meteo」という無料のお天気API窓口からデータを頂いてきます。
- Pandas(パンダス) / Matplotlib(マットプロットリブ)
- Pythonの中で使える「拡張ツール(ライブラリ)」です。PandasはデータをExcelのような見やすい表(データフレーム)に整理するツール。MatplotlibやSeaborn(シーボーン)は、その数字を美しいグラフに変換するお絵かきツールです。
3. 実践:世界の気温データを自動収集してグラフ化してみよう
それでは、実際にPythonを使って「東京・ロンドン・ニューヨーク・シドニー」の過去数年間の気温推移を自動で集め、折れ線グラフにしてみましょう。
Google Colabを開き、以下のコードを貼り付けて「再生ボタン(実行)」を押すだけで、全自動で処理が行われます。
Python
# 過去データの取得と可視化
import openmeteo_requests
import requests_cache
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# キャッシュの設定
cache_session = requests_cache.CachedSession('.cache', expire_after = 3600)
openmeteo = openmeteo_requests.Client(session = cache_session)
# 期間の設定(2023年の元旦から、2025年の大晦日まで)
start_date = "2023-01-01"
end_date = "2025-12-31"
# 収集したい都市の緯度・経度
cities = {
"Tokyo": {"lat": 35.6895, "lon": 139.6917},
"London": {"lat": 51.5074, "lon": -0.1278},
"New York": {"lat": 40.7128, "lon": -74.0060},
"Sydney": {"lat": -33.8688, "lon": 151.2093}
}
yearly_df = pd.DataFrame()
url = "https://archive-api.open-meteo.com/v1/archive"
# 各都市の過去データを自動収集
for name, coords in cities.items():
params = {
"latitude": coords["lat"],
"longitude": coords["lon"],
"start_date": start_date,
"end_date": end_date,
"daily": "temperature_2m_mean" # 1日ごとの平均気温
}
responses = openmeteo.weather_api(url, params=params)
response = responses[0]
daily = response.Daily()
daily_temperature = daily.Variables(0).ValuesAsNumpy()
date_range = pd.date_range(
start=pd.to_datetime(daily.Time(), unit="s", utc=True),
end=pd.to_datetime(daily.TimeEnd(), unit="s", utc=True),
freq="1D", inclusive="left"
)
city_df = pd.DataFrame({
"Date": date_range,
"Mean Temperature (°C)": daily_temperature,
"City": name
})
yearly_df = pd.concat([yearly_df, city_df], ignore_index=True)
# グラフの描画
plt.figure(figsize=(15, 7))
sns.lineplot(data=yearly_df, x="Date", y="Mean Temperature (°C)", hue="City", linewidth=1, alpha=0.8)
plt.title(f"Multi-Year Temperature Trends ({start_date} to {end_date})", fontsize=16, fontweight='bold')
plt.xlabel("Year", fontsize=12)
plt.ylabel("Daily Mean Temperature (°C)", fontsize=12)
plt.legend(title="City", bbox_to_anchor=(1.05, 1), loc='upper left')
plt.tight_layout()
plt.show()
実行すると、わずか数秒でインターネット上から約3年分(1,000日以上)×4都市分の膨大なデータが収集・集計され、美しい波形のグラフが生成されます。手作業でExcelに打ち込んでいたら何日もかかる作業が、プログラミングなら一瞬です。


4. この技術がもたらす無限の可能性
今回学んだ「APIでデータを集め、Pandasで集計し、グラフ化する」という一連のスキルは、気象データ以外にもあらゆる分野で応用できる非常に強力な武器になります。
例えば、以下のような実用的なアイデアがあります。
- マーケティングやSEOの業務効率化 自社サイトやブログのアクセスデータ(Google Analytics API)や、検索ボリュームの推移を自動で取得。日々の手作業によるレポート作成を完全自動化し、市場のトレンド予測に役立てることができます。
- 株式投資のデータ分析 日本の個別株の過去の株価データ(チャート)や財務データを自動で収集。「株主優待が魅力的で、かつ現在の株価が過去のトレンドから見て割安な銘柄」をスクリーニング(抽出)する独自の分析ツールを作ることができます。
- 海外トレンドやコンテンツ制作のリサーチ 世界各国の気候データや観光客数の推移を分析し、「今の時期はロンドンやローマのどのエリアが人気か」を可視化。そこからインスピレーションを得て、AIを使った旅行記やファッションのルックブックを作成するためのデータ的な裏付け(エビデンス)にすることも可能です。
5. まとめ:統計学の学びへ向けて
今回は「世界の天気データ」を入り口として、PythonとGoogle Colabを使ったデータ収集と可視化の世界を体験しました。
数字の羅列だったデータも、ビジュアル化することで「南半球のシドニーは季節が逆転しているな」「ロンドンは年間を通して気温の変化が穏やかだな」という事実が浮かび上がってきます。
データを集めて全体像を把握すること。これが、これから学んでいく「統計学」の最も重要な第一歩です。今後はこの環境を活用しながら、より深いデータ分析や統計の知識についても当ブログで発信していく予定ですので、ぜひ楽しみにしていてください!


コメント