見出し画像

[Python]集計したデータをグラフで見てみる

1.何をするのか

前回集計したデータ(各ジャンル毎に売れた本の冊数)をグラフに描画します。前回での集計したデータは辞書型をキーと値ごとにターミナル上で出力しましたが、今回はそれを棒グラフに描画していきます。

2.コード

from random import randint
import matplotlib.pyplot as plt
pdc_list = ["novel", "paperback", "business", "technical"]
#集計データを擬似的に作成
with open("sell_month.csv", "w", encoding="utf-8") as f:
    f.write("{0},{1},{2}".format("日", "ジャンル", "冊数") + "\n")
    for i in range(1, 32):
        pdc_index = randint(0, len(pdc_list) - 1)
        pdc_name = pdc_list[pdc_index]
        book_num = randint(0, 100)
        f.write("{0},{1},{2}".format(i, pdc_name, book_num) + "\n")
        
#集計処理

junle_num_dic = {}

with open("sell_month.csv", "r", encoding="utf-8") as f:
    for i, row in enumerate(f):
        #Headerスキップ
        if i == 0: continue
        row = row.split(",")
        junle = row[1]
        num = int(row[2].rstrip())
        if junle not in junle_num_dic.keys():
            junle_num_dic[junle] = num
        else:
            junle_num_dic[junle] += num

#グラフに描画するための処理
junle_list = []
num_list = []
for junle, num in junle_num_dic.items():
    junle_list.append(junle)
    num_list.append(num)

plt.bar(junle_list, num_list)
plt.suptitle("Total sales for this month")
plt.show()

3.実行結果



この記事が気に入ったらサポートをしてみませんか?