Pythonでデータを扱う!リスト, 辞書, グラフ描画matplotlib(情報Ⅰプラス④)

Pythonでインフォマティクス

Pythonでは、データを扱うためのリスト辞書などの仕組みが用意されています。
また、分析したデータをグラフにすることで、見た目にもわかりやすく伝えることができます。

今回の記事では、Pythonの基本的なデータ構造と可視化を紹介します!




1. リストと辞書の基本

Pythonでデータをまとめて扱いたいとき、まず覚えたいのがリスト辞書です💡

◆リストとは?
いくつかの値を順番通りに並べたもので、0から順番にインデックス(番号)がついています。
たとえば、果物の名前をリストにしておけば、あとから「1番目の果物は?」といった形で簡単に取り出すことができます。

fruits = ["りんご", "バナナ", "みかん"] 
print(fruits[0])
# 出力結果
# りんご

◆ 辞書とは?
項目名(キー, Key)とその値(Value)をセットにしたデータです。
例えば、教科ごとの点数のように、「何のデータか」がすぐにわかる形で保存できます。

scores = {"国語": 80, "数学": 90, "英語": 85} 
print(scores["数学"])
#出力結果
# 90

💡 リストは「順番があるもの」、辞書は「項目ごとにペアの値があるもの」に便利!

2. 簡単なデータ分析(平均、最大、最小)

Pythonの標準関数で、リストのデータを分析することができます。

今回は、データの平均、最大、最小を計算します💡

scores = [80, 90, 85] 
print("平均:", sum(scores) / len(scores)) # sum()合計/len()要素の数
print("最大:", max(scores)) # max()最大値 
print("最小:", min(scores)) # min()最小値
# 実行結果 
# 平均: 85.0 
# 最大: 90 
# 最小: 80

平均、最大、最小を計算するには、上記の関数(sum, len, max, min)は是非覚えておいてください💡

3. matplotlibでグラフを描こう!

Pythonには、データをグラフ化するための便利なライブラリ matplotlib があります!インストールとインポートをしてみましょう💡

※グラフに日本語ラベル付けるので、japanize-matplotlibもインストールしてます!

# ライブラリのインストール
!pip install matplotlib
!pip install japanize-matplotlib #matplotlibで日本語表記させるためのライブラリ
# !pip install -q matplotlib japanize-matplotlib #参考 二つのライブラリを1行でインストールさせるコード

# ライブラリのインポート
import matplotlib.pyplot as plt
import japanize_matplotlib

◆ライブラリってなに?
Pythonには、いろんな便利な道具セット(=ライブラリ)が用意されています。

例えば…
matplotlib:グラフを描くための道具セット
math:数学の関数(√やsinなど)が入っている
datetime:日付や時間を扱える
などがあります💡

折れ線グラフを作成するには:

# データの準備 
days = [1,2,3,4,5] 
temps = [22, 24, 19, 21, 25]

# 折れ線グラフ
plt.plot(days, temps)
plt.title("気温変化")
plt.xlabel("日")
plt.ylabel("気温(℃)")

#グラフ軸を調整
plt.ylim(0, max(temps) + 5)     # y軸:0スタート
plt.xticks(range(1, max(days) + 1))           # x軸の目盛を整数に固定
plt.show()
# 実行結果

4. 実践①:気温データを折れ線グラフ

先ほどのと、少し違うデータで、より分かりやすく、気温のデータの折れ線グラフを作ってみます!

※3.でのmatplotlib japanize-matplotlibのライブラリのインストールとインポートはされている環境で実施します!

days = ["月", "火", "水", "木", "金", "土", "日"] 
temps = [20.1, 21.3, 19.8, 22.5, 24.0, 23.4, 21.8] 

plt.plot(days, temps, marker="o") 
plt.title("1週間の気温の推移") 
plt.xlabel("曜日") 
plt.ylabel("気温(℃)") 

plt.ylim(0, max(temps) + 5) # y軸:0スタート 
plt.grid(True)  # グリッド線を表示
plt.show()
 # 実行結果


💡 marker=”o” で、点がついて見やすくなりました! グリッド線をつけて、数値がよみやすくなりました!

5. 実践② 棒グラフ

matplotlibでは、折れ線グラフいがいにも、さまざまなグラフ表示ができます。その中でよく使われるものを紹介していきます!

◆棒グラフ

subjects = ["国語", "数学", "英語"]
scores = [80, 90, 85]

#棒グラフ
plt.bar(subjects, scores)
plt.title("教科別の得点")
plt.ylabel("点数")
plt.show()
 # 実行結果

6. 実践③ 円グラフ

◆円グラフ

labels = ["りんご", "バナナ", "みかん"]
sizes = [30, 45, 25]

#円グラフ
plt.pie(sizes, labels=labels, autopct="%1.1f%%", startangle=90) #※1
plt.title("果物の売上割合")
plt.axis("equal")  # 円表示(実行環境によって、楕円表示になるを防ぐため)
plt.show()
※1 autopct= 割合を小数点以下1桁まで表示、
startangle= 円グラフの描き始めの角度の指定(90度=真上からスタート)
 # 実行結果
では、円グラフをアレンジして色を変更したり、黒線で囲んだりしてみます!
labels = ["りんご", "バナナ", "みかん"]
sizes = [30, 45, 25]
colors = ["#ff9999", "#ffe599", "#a2c4c9"]  # 好きな色コードで指定

# 円グラフ
plt.pie(
    sizes,
    labels=labels,
    colors=colors,
    autopct="%1.1f%%",
    startangle=90,
    wedgeprops={"edgecolor": "black"}  # 枠線を黒で囲む
)

plt.title("果物の売上割合")
plt.axis("equal")  # 円を丸くする
plt.show()
色コードは、原色大辞典を参考にされてください。
 # 実行結果
7. まとめ:データを扱う基本をおさえよう!

・ リストは、順番があるデータをまとめるときに便利!
・ 辞書は、項目ごとにペアの値があるものを扱うときに便利!
・ 平均・最大・最小などの分析は sum, max, min, len !
・ 見た目でデータを理解したいときは、matplotlibでグラフ化!
Pythonの基本操作をおさえることで、データ分析や機械学習にもつながる力が身につきます!
まずは身近なデータから、楽しくプログラミングで分析してみましょう!

本サイトは、使える「情報Ⅰ」を目指しています💡

◆情報Ⅰ+確認クイズ(毎週月曜配信予定)
◆情報Ⅰ×プログラミング(月2回配信予定)
◆情報Ⅰプログラミング×化学(月2回配信予定)

高校情報Ⅰ ハードウェア・ソフトウェアの役割とコンピュータの仕組み
★本サイトの取り組み方★①まなびの目標🎯を理解し、使用するケースを学ぶ。②最後の確認クイズ💡でインプットを確認する。まなびの目標🎯・コンピュータの仕組み(ハードウェアとソフトウェアの違い)を理解しよう!・CPUやメモリなどがどんな働きをして...
Pythonで「繰り返す」プログラムを作ろう!for文・while文・break・continue(情報Ⅰプログラミング③)
繰り返しの処理ってなに?⇒繰り返しとは、同じ処理を何回も行うことです!■目次 1. for文:決まった回数の繰り返し 2. while文:条件が続く限り繰り返す 3. break:条件を満たしたら途中で抜ける 4. continue:一部だ...
Pythonで化学の構造式を描こう!RDKit, SMILES, PubChem(情報Ⅰプログラミング×化学①)
構造式をパソコンで描いてみたい!高校の化学で学ぶ構造式を、Pythonのプログラミングを使って視覚化してみましょう!今回は、化学構造の表現形式SMILES(スマイルス)と、化学構造の描画ライブラリRDKit(アールディーキット)を使って、構...
高校情報Ⅰと実践活用
高校情報Ⅰとプログラミングを含めた実践活用に関する記事を発信していきます。高校情報Ⅰの範囲を、毎週1記事、全6か月で進めていきます。高校情報Ⅰのプログラミング(Python中心)も、使い方やコード例を含めた記事を毎月2つアップ予定です♬📢情...
本記事に対し、お気づきの点ございましたらお問い合わせよりご連絡頂けますと幸いです。



コメント

タイトルとURLをコピーしました