トップページ -> データベース関連技術 -> オープンデータの活用 -> Pandas を用いたデータの扱い (CVSファイル読み込み、散布図、要約統計量、ヒストグラム)
[サイトマップへ], [サイト内検索へ]

Pandas を用いたデータの扱い (CVSファイル読み込み、散布図、要約統計量、ヒストグラム)

サイト構成 データベース関連技術 データの扱い インストール,設定,利用 プログラミング 情報工学の講義実習資料 サポートページ 連絡先,業績など


前準備

Python のインストール

Python 用 numpy pandas seaborn matplotlib のインストール

Windows の場合

※ 「py」は,Windows のPythonランチャーAnaconda 3 内の Python などを間違って使ってしまわないように,Pythonランチャーを使って Python を起動している.Ubuntu では「py」でなく「python3」コマンドを使う.

※ 「pip install ...」は,Python パッケージをインストールするための操作.

py -m pip install --upgrade pip
py -m pip install -U numpy pandas seaborn matplotlib

Ubuntu の場合

sudo apt update
sudo apt -yV install python3-numpy python3-pandas python3-seaborn python3-matplotlib

前準備

今回使用する架空のアンケートデータ

次のようなアンケートデータがあるとする.ファイル名は enquete.csv

[image]

このアンケートデータのダウンロード手順

  1. Web ブラウザで, 次の URL を開く

    https://www.kkaneko.jp/data/od/enquete.csv

  2. ファイルがダウンロードが始まるので確認

    [image]
  3. ダウンロードしたファイルは、C:\ の直下に置く

    [image]

    [image]

    ※ このWebページの実習が終わったら、このファイルは消す


CSV ファイルの読み込み、確認

Anacondaに入っている開発環境 spyder を実行し,右下の ipython コンソールを使うのが簡単.

  1. アンケートデータの読み込み
    import pandas as pd
    import seaborn as sns
    
    x = pd.read_csv('C:/enquete.csv', encoding='SHIFT-JIS')
    
    

    [image]

    先頭行にデータ本体がある(先頭行が属性名でない)ときは、「pd.read_csv('hoge.csv', )」のようにする

  2. 読み込んだデータの表示
    print(x)

    [image]
  3. 読み込んだデータのうち、1列目と 2列目の表示

    オブジェクト x には 0列目と 1列目と 2列目がある.

    print(x.iloc[:,1]) 
    print(x.iloc[:,2]) 
    

    [image]
  4. 読み込んだデータについて、1列目と 2列目の散布図

    plt.style.use('ggplot')」はグラフの書式の設定.「ro」は「赤い丸」という意味.

    import matplotlib.pyplot as plt
    plt.style.use('ggplot')
    plt.plot(x.iloc[:,1], x.iloc[:,2], 'ro')
    plt.show()
    

    [image]
  5. 各列について、基本的な情報の表示
    print(x.head())
    print(x.info())
    print(x.shape)
    print(x.ndim)
    print(x.columns)
    

    [image]
  6. CSV ファイルに書き出し
    x.to_csv('hoge.csv', header=True, index=False, encoding='SHIFT-JIS')
    

各属性の要約統計量(総数、平均、標準偏差、最小、四分位点、中央値、最大)

print(x.describe())

[image]


JSONファイルの書き出しと読み込み

import numpy as np
pd.to_json('hoge.json')
a = pd.read_json('hoge.json')


pandas.DataFrame のコンストラクタ

  • データフレーム
    import pandas as pd
    pd.DataFrame( {'x' : [1, 2, 3], 'y' : [4, 5, 6]} )
    

    ヒストグラムの表示

    plt.hist(x.iloc[:,1])
    plt.show()
    
    plt.hist(x.iloc[:,2])
    plt.show()
    

    [image]

    [image]

    2次元ヒストグラム

    plt.hist2d(x.iloc[:,1], x.iloc[:,2])
    plt.show()
    

    [image]

    本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

    問い合わせ先: 金子邦彦(かねこ くにひこ) [image]