前提・実現したいこと
pythonでヒストグラムを描きたい。同じ列を持っている4つのファイルがあります。2016年〜2019年の間の地震データです。
- I_earthquake2016.csv, I_earthquake2017.csv, I_earthquake2018.csv, I_earthquake2019.csv
一つのCSVファイルならコードを書きましたが4つのCSVファイルをループで処理するやり方を分からないです。具体的に知りたいことが
3*2のsubplotsを使って
4つのファイルを読んでどの年に地震の数が多かったかをバープロットで示したいsubplot(3,2,1)と(3,2,2)の位置に。
2016年の地震の数のばらつきを月によってsubplot(3,2,3)
2017年の地震の数のばらつきを月によってsubplot(3,2,4)
2018年の地震の数のばらつきを月によってsubplot(3,2,5)
2019年の地震の数のばらつきを月によってsubplot(3,2,6)
よろしくお願いします。初心者なので簡単な説明だと助かります。
■■1つのファイルのために書いたコードは
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline data = pd.read_csv('I_earthquake2017.csv') data=data.drop(['magType','nst','gap','dmin','rms','net', 'id', 'updated', 'place', 'type', 'horizontalError', 'depthError', 'magError', 'magNst', 'status', 'locationSource', 'magSource'],axis=1) print(data[:1])
time latitude longitude depth mag
0 2017-12-30T20:53:24.700Z 29.4481 51.9793 10.0 4.9
data['time']=pd.to_datetime(data['time']) print(data[:1])
time latitude longitude depth mag
0 2017-12-30 20:53:24.700000+00:00 29.4481 51.9793 10.0 4.9
data['MONTH']=data['time'].dt.month data['YEAR']=data['time'].dt.year print(data[:1])
time latitude longitude depth mag MONTH
0 2017-12-30 20:53:24.700000+00:00 29.4481 51.9793 10.0 4.9 12
YEAR
0 2017
plt.hist(x=[data.MONTH],bins=12,alpha=0.5) plt.title("2017") plt.xlabel("month") plt.ylabel("number") plt.savefig("2017.png") plt.show()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/28 09:25
2020/04/28 10:13
2020/04/28 10:36
2020/04/28 11:18