데이터 분석을 위한 부품 모음

12616 단어 Python3matplotlib

데이터 분석을 위한 부품 모음


  • 역사
  • 2021/01/21 ver1


  • version.cmd
    python --version
    :: Python 3.7.6
    jupyter --version
    :: jupyter core     : 4.6.1
    :: jupyter-notebook : 6.0.3
    :: qtconsole        : 4.6.0
    :: ipython          : 7.12.0
    :: ipykernel        : 5.1.4
    :: jupyter client   : 5.3.4
    :: jupyter lab      : 1.2.6
    :: nbconvert        : 5.6.1
    :: ipywidgets       : 7.5.1
    :: nbformat         : 5.0.4
    :: traitlets        : 4.3.3
    

    패키지



    import.py
    import pandas as pd #データ解析を支援する機能を提供するライブラリ
    import numpy as np #数値計算の拡張モジュール 
    import matplotlib #データビジュアライズに関するパッケージ
    import matplotlib.pyplot as plt # 自動的にプロットするためのインターフェース、らしい
    from datetime import datetime as dt #日付や時刻を操作するためのモジュール
    from sklearn.preprocessing import StandardScaler #データ標準化用モジュール
    
    

    matplotlib에서 일본어 처리



    참조 소스 : matplotlib의 일본어

    matplot_japanese.py
    from matplotlib import rcParams
    rcParams['font.family'] = 'sans-serif'
    rcParams['font.sans-serif'] = ['Hiragino Maru Gothic Pro', 'Yu Gothic', 'Meirio', 'Takao', 'IPAexGothic', 'IPAPGothic', 'VL PGothic', 'Noto Sans CJK JP']
    

    표시할 그래프와 이미지의 크기



    figsize.py
    plt.figure(figsize=(20,2))
    

    데이터 입출력



    SQL에서 로드


    #SQL
    import pymysql
    import sqlalchemy
    from sqlalchemy import create_engine
    
    #接続情報
    url = 'mysql+pymysql://root:[email protected]:3306/databasename?charset=utf8'
    engine = sqlalchemy.create_engine(url, echo=False)
    #実行
    query = "SELECT * FROM Table"
    dataset = pd.read_sql(query,con = engine)
    

    CSV 입출력



    csv.py
    dataset = pd.read_csv("pass of csv", encoding = "utf-8")
    dataset.to_csv("pass of csv", encoding="shift-jis")
    

    클립보드로 출력



    clipboard.py
    !pip install pyperclip
    import pyperclip
    pyperclip.copy(STR_XXX)
    
    

    전처리



    내용 확인



    info.py
    dataset.info()
    dataset.describe() #max,min,mean,std,四分位数等 
    

    성형



    index.py
    #データフレームにインデックスの設定
    dataset2 = dataset.set_index('StoreCD')
    #型変更
    dataset['colum']=dataset['colum'].astype(int)
    

    데이터 프레임 분해 및 결합


  • 교차 집계 된 데이터를 간단한 ROW 데이터로 분해

  • melt_concat.py
    #データフレームの分解
    meltDF1 = pd.melt(dataset,id_vars='index_column',var_name='horizon_axis_column_name',value_name='value_column_name')
    
    #データフレームの結合
    concatDF = pd.concat([meltDF1,meltDF2]) 
    

    NULL 값 처리



    null.py
    dataset.fillna(0,inplace=True) #0埋め
    dataset.isnull() #データフレーム全体で確認
    dataset.isnull().any() #列ごとに確認
    

    더미 변수



    dummy.py
    target_col = 'a'
    str_colmns = ['b','c','d'] #数値でない列
    dummie_cols = ['b'] #数値でない列の中でダミー化したい列
    exclude_cols = [col for col in str_colmns if col not in dummie_cols] #
    #ダミー変数化
    df = pd.get_dummies(data=df, columns=dummie_cols)
    #ダミー化した後の列から特徴量として利用する列を指定する
    feature_cols = [col for col in df.columns if col not in exclude_cols]
     
    

    시각화 및 탐색



    항목 간의 상관 계수를 취합니다.



    corr.py
    corrDF = df[feature_cols].corr()
    

    히트 맵



    heatmap.py
    import seaborn as sns
    sns.heatmap(corrDF,annot=False) #annot=Trueで数値を表示する
    



    겹치는 막대 그래프



    distplot.py
    import seaborn as sns
    g=sns.FacetGrid(df,hue="target_column",height=3)
    g.map(sns.distplot,"feature_column",kde=False)
    g.add_legend()
    



    seaborn 색상 설정


  • 연동된 색 설정으로 할 수 있다

  • color.py
    flatui = ['#969696', '#DA5019']
    sns.set_palette(flatui)
    



    comment


  • 과거 코드에서 찾아서 복사하는 것이 번거롭기 때문에
  • 좋은 웹페이지 즐겨찾기