PythonでCSVからファイルを読み込みヒストグラムを実装する

グラフ実装
あい
あい

今回はpythonでcsvから
ファイルを読み込んで
ヒストグラムを自動で

出力してくれる
プログラムを実装して
いきます

[PR]※本サイトには、プロモーションが含まれています

ヒストグラム(histogram)とは?

連続データの分布

視覚的に表現するためのグラフ

縦軸を度数、横軸を各区間に分け

グラフを作ります。

Pandasを利用してCSVからデータを読み込む

あい
あい

csvから
ファイルの

読み込み方法を
教えます!

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('//content//heights.csv')
print(df.head(5))

pythonのpandasライブラリを利用して

csvを読み込むコードです

df = pd.read_csv('//content//heights.csv')

データフレームdfに

データを格納します

かっこの中には必ず

上記のようにファイルアドレスを挿入する

print(df.head(5))

でデータフレーム内のデータ5行目まで

確認することが出来ます

あい
あい

データが入ってる!

データを用意する

適当に作った

サンプルサイズ100の

各国の成人の身長データを

csvに用意します

Category平均値標準偏差データ
Japan_man170.76.4正規分布
Japan_woman158.85.8正規分布
US_man176.17.1正規分布
US_woman1627.3正規分布

こんな感じのデータを保存します

今回作るヒストグラムとコード

csvファイルを読み込み

[‘Japan_man’,’Japan_woman’,’US_,man’,’US_woman’] 

一つずつコードにしていく

ヒストグラムを実装します

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('//content//heights.csv')
print(df.head(5))

# データのカラム情報をリストに保管する

ヒストグラムを実装する

import pandas as pd
import matplotlib.pyplot as plt

# CSVファイルを読み込む
df = pd.read_csv('//content//heights.csv')
print(df.head(5))


# ヒストグラムを実装するコード
for column in df.columns:
    plt.figure(figsize=(8, 6))
    plt.hist(df[column], bins=20, color='skyblue', edgecolor='black')
    plt.title(f'Histogram of {column}')
    plt.xlabel(column)
    plt.ylabel('Frequency')
    plt.grid(True)
    plt.show()

出力は

コードの解説

最初にデータをcsvから取得する

コードの説明をします

import pandas as pd
import matplotlib.pyplot as plt

# CSVファイルを読み込む
df = pd.read_csv('//content//heights.csv')
print(df.head(5))

出力結果を確認してみます

次に取得したデータをつかってヒストグラム

を実装するコードの説明をします

import pandas as pd
import matplotlib.pyplot as plt

# CSVファイルを読み込む
df = pd.read_csv('//content//heights.csv')
print(df.head(5))

# カラムの数だけループしてヒストグラムを作成
for column in df.columns:
    plt.figure(figsize=(8, 6))
    plt.hist(df[column], bins=20, color='skyblue', edgecolor='black')
    plt.title(f'Histogram of {column}')
    plt.xlabel(column)
    plt.ylabel('Frequency')
    plt.grid(True)
    plt.savefig(f'//content//{column}_histogram.png')  # ファイルをPNGで保存
    plt.show()

forループを利用して

ヒストグラムを実装しています

1回のループで

1列のヒストグラムを作成しています

plt.savefig(f'//content//{column}_histogram.png')  # ファイルをPNGで保存

でファイルを保存して完了です。

ヒストグラムを重ねる

ヒストグラムを重ねて表示するには、

plt.hist() を複数回呼び出して同じグラフに重ねます

import pandas as pd
import matplotlib.pyplot as plt

# CSVファイルを読み込む
df = pd.read_csv('//content//heights.csv')
print(df.head(5))

# カラムの数だけループしてヒストグラムを作成
for column in df.columns:
    plt.hist(df[column], bins=20, alpha=0.5, label=column)

plt.title('Histogram')
plt.xlabel('value')
plt.ylabel('Frequency')
plt.grid(True)
plt.savefig('//content//histogram.png')  # ファイルをPNGで保存
plt.legend()
plt.show()
タイトルとURLをコピーしました