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

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

サイト構成 連絡先,業績など コンピュータ実習 データの扱い コンピュータ設定 教材(公開) サポートページ

金子邦彦研究室: データベース、人工知能(AI)、データサイエンスの融合により不可能を可能にする

前準備

前準備として,Pythonのインストールが終わっていること.

Python のインストール

※ Python のプログラム作成には、PyCharmなどが便利である.

以下,Windows に Python, git, cmake をインストール済みであるものとして説明を続ける.

spyder, numpy scipy h5py scikit-learn scikit-image matplotlib seaborn pandas pillow のインストール

conda install -y -c spyder-ide spyder
conda install -y numpy scipy h5py scikit-learn scikit-image matplotlib seaborn pandas pillow

前準備

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

  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()
    

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

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

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

print(x.describe())


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

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

pandas.DataFrame のコンストラクタ


ヒストグラムの表示

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

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

2次元ヒストグラム

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



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