前回の続きから

次の段

# データの複製
df = df_kw.copy()
# 岡山の気温を結合
df = df.merge(df_temp_okym,how="inner", on="DATETIME")
# 広島の気温を結合
df = df.merge(df_temp_hrsm,how="inner", on="DATETIME")

# 月、週、時間の値を個別に取得
df["MONTH"] = df.DATETIME.map(lambda _: _.month)
df["WEEK"] = df.DATETIME.map(lambda _: _.weekday())
df["HOUR"] = df.DATETIME.map(lambda _: _.hour)

ここは、#のコメント通りで、最初の1行目は、コピーしてる。

dfの中身はこう↓

コピーなので、当然データは、変わっていない。

で次の行。

df = df.merge(df_temp_okym,how="inner", on="DATETIME")

これは、前回読み込んだ岡山の気温データとさっきコピーしたCSVを、結合して一緒にしてます。

つまり、[気温データdf_temp_okymをコピーデータdfの日付DATETIMEを規準にして、気温データをdfと一緒にして。それをdfというデータにして]という命令です。


dfの中身は、ここで、こうなる↓

次の行

これは、さっきと同じくCSVの結合。

次は、広島の気温データ。これも日付とヒモ付けして並べる。


dfの中身は、ここで、こうなる↓


で、最後のところにある3行。

これ全部同じ動作で、処理する行が違うだけなんだけど。

df["MONTH"] = df.DATETIME.map(lambda _: _.month)

df["Month"]ってのは、さっきのdfの中の列名Monthという列を指定している。もちろんそんな列は無い。無い場合は、新しく追加される。

その列には、どんなデータが来るか?


それは右側の式の

df.DATETIME.map(lambda _: _.month)


これです。


命令は、「dfのなかにあるDATETIMEという列にあるデータ(※日付データ)の月を取り出しなさい。」ですね。


で取り出したデータが、df[Month]に来るということです。




最終的にその3行をした結果、dfの中身はこう↓



一旦ここまで