前提・実現したいこと
1日おきに各カテゴリのデータ数を集計してグラフ化したプログラムを,
1時間おきに集計してグラフ化できるようにしたい.
該当のソースコード
Python
1from datetime import datetime 2import pandas as pd 3import matplotlib.pyplot as plt 4test_df = pd.read_csv('hoge.csv') 5test_df["label"] = test_df['label'].tolist() 6label_1_df = test_df.loc[test_df["label"] == 1] 7tmp = [] 8for i in label_1_df["date"]: 9 date_split = i.split(" ") 10 tmp.append(datetime.strptime(date_split[0], '%Y/%m/%d')) 11 12label_1_df["date"] = tmp 13print(label_1_df.groupby("date").sum()) 14df_1 = label_1_df.groupby("date").sum() 15df_a = lanel_1_df 16df_a.to_csv('df1.csv', index=False) 17df_1.to_csv('df1.csv', index=False) 18n = label_1_df.groupby("date").sum()
これをあと5回した後に
Python
1import matplotlib.dates as mdates 2 3fig = plt.figure() 4ax = fig.add_subplot(1,1,1) 5days = mdates.DayLocator() 6daysFmt = mdates.DateFormatter('%m-%d') 7plt.plot(n['label'],label="hoge",linewidth = 5.0) 8plt.plot(o['label'],label="hoge2",linewidth = 5.0) 9plt.plot(p['label'],label="hoge3",linewidth = 5.0) 10plt.plot(q['label'],label="hoge4",linewidth = 5.0) 11plt.plot(r['label'],label="hoge5",linewidth = 5.0) 12plt.plot(s['label'],label="hoge6",linewidth = 5.0) 13ax.xaxis.set_major_locator(days) 14ax.xaxis.set_major_formatter(daysFmt) 15plt.legend() 16plt.savefig('hoge.png') 17plt.show() 18plt.rcParams['figure.figsize'] = (35, 30) 19
ここでグラフ化しています
x軸は1時間ごとで表したいです
y軸はその時間のデータの合計数です
今回は現在1日おきにしているx軸を1時間おきに変えたいということです...
入っている時間データは年月日時間分まで入っています
回答1件
あなたの回答
tips
プレビュー