「地球温暖化」という言葉は、ニュースやSNS、学校の授業などで頻繁に登場するようになりました。しかし、「本当に温暖化しているのか?」「それは人間の活動が原因なのか?」といった疑問を持つ人も少なくありません。特に近年は、「自然な気候変動の一部にすぎない」「科学者の間でも意見が分かれている」といった情報も広まり、真偽を見極めるのが難しくなってきています。
そこで本記事では、筆者自身が気象庁の公式データを元に解析を行い、その結果をもとに地球温暖化の現状とその原因について検討していきます。科学的な根拠に基づき、なるべくわかりやすく整理していくので、専門知識がなくても安心して読み進めてください。
地球温暖化とは?
地球温暖化とは、地球の平均気温が長期的に上昇する現象を指します。気温の短期的な変動(猛暑や寒波)ではなく、数十年から百年以上のスパンで、平均的に地球全体の気温が上がり続けているという傾向があるのです。
この現象は、自然の気候変動による影響もありますが、特に産業革命以降の人間活動が主要な原因となっていると考えられています。これを支えているのが、さまざまな観測データやシミュレーション結果です。
なぜ気温が上昇するのか?
地球の大気中には「温室効果ガス」と呼ばれる成分が含まれています。代表的なものとして、以下のようなガスが挙げられます:
-
二酸化炭素(CO₂)
-
メタン(CH₄)
-
一酸化二窒素(N₂O)
これらのガスは、太陽からのエネルギーの一部を地表に留める役割を果たし、地球を適度に温暖に保っています。しかし、化石燃料の燃焼や森林伐採などによって、これらのガスが過剰に放出されると、大気中の濃度が上昇し、結果として地球の気温も上がっていきます。
自然変動との違い
「地球の気候はもともと変動するもので、今の温暖化も自然なサイクルでは?」という意見もあります。確かに、地球の気温は氷期と間氷期を繰り返すなど、数万年単位で大きな変化をしてきました。
しかし、現在の温暖化は過去の自然変動とは異なり、非常に急激な速度で進行していることが、様々な観測データから明らかになっています。そのため、単なる「自然現象」とは言い切れない側面があるのです。
この後のセクションでは、実際に筆者が取得・解析した気象庁のデータをもとに、日本の気温変化の推移グラフや数値を交えて具体的に解説していきます。
データのダウンロード 気象庁「過去の気象データ」
今回は気象庁の「過去の気象データ」を用いています。
ダウンロード方法は以下の通りです。
- 上記データサイトにアクセス
- 「地点を選ぶ」からダウンロードしたい地点を選択(今回は東京都東京のデータを使用)
- 「項目を選ぶ」からダウンロードしたいデータの種類を選択(今回は「気温」のうち「日平均気温」「日最高気温」「日最低気温」を選択)
- 「期間を選ぶ」からダウンロードしたい期間を選択(今回は1975年~2024年)する。ただし、期間が長すぎると一括ダウンロードできないため、分割する必要がある。
- 右側にあるオレンジ色の「CSVファイルをダウンロード」を押すと、CSVファイルがダウンロードされる
データの整形・可視化
次はダウンロードしたCSVファイルを用いて、実際に解析を行っていきます。
今回はpythonを用いた解析方法をご紹介します。
まずは、データの中身を確認してみましょう。
ダウンロードしたデータの最初の6行はこのようになっています。
ダウンロードした時刻:2025/08/01 08:15:22
東京 東京 東京 東京 東京 東京 東京 東京 東京
年月日 平均気温(℃) 平均気温(℃) 平均気温(℃) 最高気温(℃) 最高気温(℃) 最高気温(℃) 最低気温(℃) 最低気温(℃) 最低気温(℃)
品質情報 均質番号 品質情報 均質番号 品質情報 均質番号
このままだとデータの取り扱いが難しいので、不要な行を削除し、列名を変更しておきます。
import pandas as pd
# CSVのパスを指定
csv_path = 'data.csv'
# 1. 最初の不要な行をスキップして読み込み
df = pd.read_csv(csv_path, skiprows=5, encoding='shift_jis') # JMAのCSVはShift-JIS形式
# 2. 最初の10列だけに限定(必要な列だけ選択)
df = df.iloc[:, :10]
# 3. 列名を変更(扱いやすい列名に変更)
df.columns = [
'Date', # 年月日
'Day_Mean', # 平均気温(℃)
'dmean_info', # 平均気温の品質情報
'dmean_num', # 平均気温の均質番号
'Day_Max', # 最高気温(℃)
'dmax_info', # 最高気温の品質情報
'dmax_num', # 最高気温の均質番号
'Day_Min', # 最低気温(℃)
'dmin_info', # 最低気温の品質情報
'dmin_num' # 最低気温の均質番号
]
# 4. 必要に応じて日付型に変換
df['Date'] = pd.to_datetime(df['Date'], errors='coerce')
# 5. 整形後のCSVを保存
df.to_csv('data_cleaned.csv', index=False)
準備ができたら実際の解析に移っていきましょう。
まずはpythonの必要なライブラリをインポートします。
import glob
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
次に、複数ファイルに分割されている場合は、それらを統合します。
# CSVファイルをすべて読み込む
path_list = glob.glob('./dat/*.csv')
df_list = []
for csv_path in path_list:
df = pd.read_csv(csv_path, encoding="shift_jis") # JMAのCSVはShift-JIS形式
df["Date"] = pd.to_datetime(df["Date"])
df = df[df["Day_Mean"].notnull()] # 欠損値を除外
df_list.append(df)
# データ結合
all_df = pd.concat(df_list).reset_index(drop=True)
./dat/にダウンロードした複数のファイル(整形済み)を用意してください。
私の場合は、1875年から2024年の150年分をダウンロードして統合しました。
次に、日変化から月平均と年平均を算出します。
# 月・年ごとに平均気温を集計
all_df["YearMonth"] = all_df["Date"].dt.to_period("M")
all_df["Year"] = all_df["Date"].dt.to_period("Y")
monthly_avg = all_df.groupby("YearMonth")["Day_Mean"].mean().reset_index()
monthly_avg["YearMonth"] = monthly_avg["YearMonth"].dt.to_timestamp()
yearly_avg = all_df.groupby("Year")["Day_Mean"].mean().reset_index()
yearly_avg["Year"] = yearly_avg["Year"].dt.to_timestamp()
次に、年平均から長期的なトレンドを計算します。
# トレンドライン(線形回帰:年平均に対して)
x = yearly_avg["Year"].map(pd.Timestamp.toordinal) # 年を数値に変換(回帰用)
y = yearly_avg["Day_Mean"].values
coef = np.polyfit(x, y, 1)
trend = np.poly1d(coef)
yearly_avg["Trend"] = trend(x)
最後に図にプロットします。
# プロット
plt.figure(figsize=(16, 8))
plt.plot(all_df["Date"], all_df["Day_Mean"], color='lightgray', label="Daily")
plt.plot(monthly_avg["YearMonth"], monthly_avg["Day_Mean"], color='tab:green', label="Monthly Avg")
plt.plot(yearly_avg["Year"], yearly_avg["Day_Mean"], color='tab:red', label="Yearly Avg")
plt.plot(yearly_avg["Year"], yearly_avg["Trend"], color='black', linestyle='--', linewidth=2, label="Trend Line")
# 文字サイズ設定
plt.title("Tokyo Temperature Trend", fontsize=18)
plt.xlabel("Date", fontsize=16)
plt.ylabel("Temperature (°C)", fontsize=16)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.grid()
plt.legend(fontsize=12)
plt.tight_layout()
plt.savefig("tokyo_temperature_with_trend.png", dpi=300)
plt.clf()
plt.close()
これで、以下のような図が作成されるはずです。

解析結果
作成した画像を簡単に説明すると、グレーが日平均気温の変化、緑が月平均気温の変化、赤が年平均気温の変化、そして、黒い波線が年平均気温から算出したトレンドを表しています。
トレンドの推移をみると明らかに右肩上がりになっていることが分かります。
このグラフから、少なくとも直近150年間では気温が増加しているということが明らかになりました。
特に、1800年代はほとんどが年平均気温が15度以下でしたが、2000年以降はすべて15度を超えています。
通常の自然変動による気温上昇は0.0005°C/年程度と言われています。(IPCC AR6 WGI Chapter 2 “Paleoclimate”)
一方で今回得られた結果では、少なく見積もっても1℃/150年 ≃ 0.0067℃/年となり、気温上昇が10倍以上速いことが分かります。
まとめ
地球の気温は本当に増加しているのかを調査しました。
気象庁のデータから東京の直近150年分の気温を調べたところ、長期的なトレンドで増加していることが明らかになりました。
地球温暖化が進行しているというのはどうやら本当のようです。


