フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

pandasとMatplotlibを動画で学習

はじめに

  • 下記の動画でpandasとMatplotlibの勉強をする

www.youtube.com

www.youtube.com

pandas

  • pandasで勉強したこと
# データの数
df.shape

df.info()
df.columns
# pclassのユニークの値取得
df["pclass"].unique()
## pclassのカテゴリごとの数
df["pclass"].value_counts()
# データの件数、平均値、最小値、最大値取得
df.describe()
## survivedを基準とした各カラムの平均値を算出
df.groupby("survived").mean()
##  データの降順ソート
df.sort_values("age", ascending=False)
## 欠損値の数
df.isnull().sum()

## 欠損値の行を削除する。行の中で1つでもNULLのカラムがあった行データは削除する
df.dropna()
## 欠損値の補完
df["age"].fillna(df["age"].mean()).head(10)

## 文字列データのダミー変数化
df= pd.get_dummies(df)

## 各カラムの相関値の取得
df.corr()

## indexの値をカラムとして利用できるようにする
df = df.reset_index()
df_a = df[["index", "survived"]]
df_b = df[["index", "pclass"]]

## データフレームの結合①
## index(onパラメータ)をキーとしてinnerJoin(howパラメータ)をする
pd.merge(df_a, df_b, on="index", how="inner")

## データフレームの結合②
## axis=1の場合、横に結合、axis=0の場合、縦の結合になる
pd.concat([df_a, df_b], axis=1)

Matplotlib

  • matplotlibで勉強したこと
## ヒストグラム
##bins  ビン (表示する棒) の数。階級数。(デフォルト値: 10)
##range ビンの最小値と最大値を指定。(デフォルト値: (x.min(), x.max())) 
plt.hist(df["fare"], bins=40, range=(0,100))
plt.show()

## 折れ線グラフ
### figure グラフのサイズを指定する
plt.figure(figsize=(20,10))
### グラフのラベルを表示
plt.title("test")
plt.xlabel("data_index")
plt.ylabel("farel")

plt.plot(df["fare"])
plt.show()

### 性別ごとのfareの値をヒストグラムで表示
df["fare"].hist(by=df["sex"])


## ヒストグラムのグラフを複数表示する
fig, axes = plt.subplots(2,2,figsize=(20,10))
axes[0][0].hist(df["age"], bins=20)
axes[0][1].hist(df["fare"], bins=20)
axes[0][1].set_xlim(0,200)
axes[1][0].hist(df["sex"], bins=20)
axes[1][1].hist(df["pclass"], bins=20)

## 棒グラフ
df.groupby("pclass").count().index
### pclass毎のsurviedの数
df.groupby("pclass").count()["survived"]

plt.bar(df.groupby("pclass").count().index, df.groupby("pclass").count()["survived"])

## 散布図
plt.scatter(df["fare"], df["age"], alpha=0.2)