Pythonで天文学!Astropyライブラリのインストールと基本的な使い方 | スクラムとは 仕事が進まなく技術力もないリーダーのごっこ遊び

Astropyライブラリの使い方

天体観測や宇宙データの解析に興味がある方にとって、PythonとAstropyライブラリは最強の組み合わせです。この記事では、Astropyのインストール方法から、実用的な基本機能の使い方までを分かりやすく解説します。天文学初心者からデータサイエンスを目指す方まで必見の内容です!


Astropyとは?Pythonで天文学を扱うための標準ライブラリ

Astropy は、NASAやESAなどの研究者も活用している、Python製の天文学ライブラリです。以下のような天文計算やデータ処理が簡単に行えます。

  • 天体座標の変換(赤道座標 ↔ 銀河座標など)

  • ユリウス日やISO形式の時間計算

  • FITSファイルの読み書き

  • 単位付きの物理量演算(例:光速×時間)

  • 太陽・月・惑星の位置計算

これらの機能を、Pythonコード数行で実現できるのがAstropyの魅力です。


Astropyのインストール方法【pipで簡単導入】

Astropyのインストールは非常に簡単です。Pythonがすでに導入されている環境であれば、以下のコマンドで数十秒でインストールが完了します。

python3 -m pip install astropy

Astropyの基本的な使い方5選【コード例付き】

以下では、Astropyの中でも特によく使う機能を5つ紹介します。


① 物理量(Quantity)の計算と変換

from astropy import units as u

distance = 1.5 * u.au  # 太陽と地球の平均距離(天文単位)
time = 8.3 * u.min     # 光が届くまでの時間
speed = distance / time
print(speed.to(u.km / u.s))  # 単位変換

 

② 天体時刻の操作(Time)

from astropy.time import Time

t = Time("2025-04-30 12:00:00", scale='utc')
print(t.jd)  # ユリウス日
print(t.iso) # ISO形式

③ 天体座標の変換(SkyCoord)

from astropy import units as u
from astropy.coordinates import SkyCoord

coord = SkyCoord(ra=10.684*u.degree, dec=41.269*u.degree, frame='icrs')
print(coord.galactic)  # 銀河座標に変換

④ FITSファイルの読み込みと表示

from astropy.io import fits
import matplotlib.pyplot as plt

hdul = fits.open("example.fits")
image_data = hdul[0].data
hdul.close()

plt.imshow(image_data, cmap='gray')
plt.colorbar()
plt.show()

FITSファイルの表示

⑤ 地球と月・太陽の距離を計算

from astropy.coordinates import get_body, solar_system_ephemeris
from astropy.time import Time
from astropy import units as u

t = Time("2025-04-30 12:00:00")
with solar_system_ephemeris.set('builtin'):
    moon = get_body('moon', t)
    sun = get_body('sun', t)

print(moon.cartesian.norm().to(u.km))
print(sun.cartesian.norm().to(u.km))

Astropyが対応するファイル形式と外部ツール

AstropyはFITSファイル(Flexible Image Transport System)に完全対応しており、NASAやJAXAで配布される観測データを直接読み書き可能です。また、以下のような外部ツールとの連携も可能です。

  • DS9:FITS画像ビューア(GUI)

  • Aladin:星図とFITSを統合表示

  • TOPCAT:FITS形式のカタログ解析に特化


Python × Astropyで宇宙を身近に!

Astropyを使えば、天文学の専門的な計算やデータ解析がPythonで誰でも扱えるようになります。研究用途はもちろん、教育や趣味としても最適です。