始める無料で始める

.melt() を使った政府データの整形

米国労働統計局(BLS)が提供するデータは、月ごとに列が分かれ、年ごとに行が異なる見やすい横長形式が一般的です。しかし、このワイド形式では時系列でのグラフ描画が難しくなります。この演習では、BLS の米国失業率データを .melt() を使ってグラフ描画に適した形式に整形します。データを正しく描画するために、テーブルに日付列を追加し、その列で並び替えを行います。

失業率データは ur_wide というテーブルに読み込まれています。演習を始める前に、このテーブルの内容を確認しておきましょう。

この演習はコースの一部です

pandas によるデータの結合

コースを見る

演習の手順

  • .melt() を使って ur_wideyear 以外のすべての列をアンピボットします。月の列と値の列の名前がそれぞれ monthunempl_rate になるように設定し、結果を ur_tall として保存してください。
  • ur_talldate という列を追加します。year 列と month 列を - 形式で結合して文字列を作り、日付型に変換してください。
  • ur_tall を日付順に並び替え、ur_sorted として保存してください。
  • ur_sorted を使って、y 軸に unempl_rate、x 軸に date を指定してグラフを描画してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# unpivot everything besides the year column
ur_tall = ____


# Create a date column using the month and year columns of ur_tall
ur_tall['date'] = pd.to_datetime(ur_tall['____'] + '-' + ____)

# Sort ur_tall by date in ascending order
ur_sorted = ____

# Plot the unempl_rate by date
ur_sorted.plot(____)
plt.show()
コードを編集して実行