グラフ作成

今日は

  • 外れ値の除去(pandas)

  • 箱ひげ図の作成

  • 正規化

  • ヒストグラムの作成

を行いました。

今日のコードメモ

import pandas as pd 
score=pd.read_csv("score_outlier.csv")
def drop_outliers(df):
    columns = df.columns
    for c in columns:
        q1=df[c].describe()["25%"]
        q3=df[c].describe()["75%"]
        iqr=q3-q1
        lower=q1-1.5*iqr
        upper=q3+1.5*iqr
        df=df[(df[c] > lower) & (df[c] < upper)]
    return df
len(drop_outliers(score).index) #外れ値の除去 

import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
score = np.loadtxt("score_outlier.csv", delimiter=",", skiprows=1)
plt.boxplot(score, showmeans=True); #箱ひげ図の作成 

score = np.loadtxt("exam_score.csv", delimiter=",", skiprows=1)
def normalize_score(a):
    return (score-np.mean(score,axis=0,keepdims=True))/np.std(score,axis=0,keepdims=True)
normalize_score(score) #正規化 

import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
score = np.loadtxt("exam_score.csv", delimiter=",", skiprows=1)
plt.hist(score[:,2], bins=20); #ヒストグラムの作成 


箱ひげ図
ヒストグラム

図を作成できるようになってとてもモチベーションの向上につながりました。これらのコードを書く上で分からなかったことは、はいれるの処理です。

score = np.loadtxt("score_outlier.csv", delimiter=",", skiprows=1)
plt.boxplot(score, showmeans=True);


hist(score[:,2]

loadtxtがデータを配列に変換することやscore[:,2]のような配列の要素の指定の仕方などわからない点が多かったです。そのため、一つの課題にかかる時間が多くなるのですけどね。笑
悩みに悩んだら、coplirotに問題文をコピペして、わからない箇所の書き方をマネするといった風に取り組んでいます。
明日は一日フリーなので、今日より進めたいと思います。

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