LoginSignup
3
11

More than 3 years have passed since last update.

データ分析 python

Last updated at Posted at 2019-12-08

勉強のアウトプットとして

内容

・データ分析で用いられる基本的なライブラリの概要
・初歩的コード

ライブラリ

データ分析で用いられるライブラリとしては以下の三つがあります。かっこは慣習用語
・pandas (pd)
・numpy (np)
・matplotlibのpyplot (plt)

pandas

pandasはデータの読み込み、データの簡単な情報の確認、データを整えたり、欠損地の確認や削除、集計ができるライブラリ

numpy

python従来の数値計算よりも高速に処理してくれる、数値計算のアルゴリズムを楽に組んでくれるライブラリ

matplotlib

二次元グラフや三次元グラフなどのグラフを支援してくれる描画ライブラリ

初歩的なコード

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
%matplotlib inline #現行のブラウザに表示

df = pd.read_csv("ファイル名") #ファイルの中のcsvを読み取る
df = pd.read_csv("ファイル名",header=None) #headerを指定することで見出しをつけるかつけないか設定できる
df.head() #csvファイルの最初の五行を読み取る
df.tail() #csvファイルの最後の五行を読み取る
#関数の引数に値を指定すると指定した行まで読み取ることができる
df.head(10) #csvファイルの最初から10行目まで読み取る
df.tail(10) #csvファイルの最後から10行目まで読み取る
df.shape #ファイルの行列数を計算するプロパティ
df.describe() #最小最大値、標準偏差、平均などの基本統計量を計算する関数
df.info() #文字列や整数、浮動小数点数の型を調べてくれる関数
df["列名"] #特定の列(カラム)を抽出
df[["列名","列名",...,"列名"]] #特定の列(カラム)を複数抽出
df[df["列名"] 条件式] #条件を満たすカラムを抽出
df[df["y"]>=df["y"].mean()] #"y"というカラムからyの平均以上を抽出
df["列名"].sort_values(by="y",accending=False) #yについて降順にソート
df["列名"][df["列名"]条件式] #右のかっこの条件沿った左のカラムを抽出
df["列名"].plot() #横軸を行番号、縦軸を指定した列名の数値の折れ線グラフを生成
df["列名"].plot(figsize=(,)) #figsizeでグラフの大きさ比率を設定
df["列名"].plot(figsize=(,),title="タイトル名") #タイトルの設定
ax = df["列名"].plot(figsize=(,),title="タイトル名")
ax.set_xlabel("ラベル名") #x軸のラベル名を設定
ax.set_ylabel("ラベル名") #y軸のラベル名を設定
df["列"].plot.hist() #ヒストグラムを生成、列を階級で分けて度数を調べてくれる
df["列"].plot.hist(grid=True) #グリッド線の追加
plt.axvline(x=数値,color="色") #垂直な線を書く

plt.axvline(x=df["y"],color="red") 
df["y"].plot.hist()                #グラフを重ねて書く

plt.axvline(x=df["y"],color="red") 
df["y"].plot.hist()                
plt.savefig("ファイル名.拡張子") #グラフを保存

df[["列名1","列名2"]].boxplot(by="列名1") #boxplotで指定した引数の項目ごとの列名2の数のばらつきを調べる箱ひげ図
df.isnull() #nullがある欄を確認
df.isnull().any() #カラムに対してnullがあるかないかを確認
df.isnull().sum() #カラムに対してnullの個数をカウント
df["列名"].value_counts() #数値の個数を出力
df.fillna() #null値を具体的な数値にすべて変換
df.dropna(subset=["列名"]) #列に対してnullがあった場合、該当する行を削除
df[["列名1","列名2"]].corr() #二つの列の相関関係を出力
df.plot.scatter(x="列名",y="列名",figsize=(5,5)) #散布図をプロット
3
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
11