pandasを利用して基本統計量を出力する[iris]

2016年4月7日

pandasを利用して、ご多分に漏れずイギリスの統計学者フィッシャーが利用したとされるあやめ(iris)データの基本的な統計データを出力してみます。

 

以下のリンクのCSVデータ(iris.csv)を利用しました。

https://raw.github.com/pydata/pandas/master/pandas/tests/data/iris.csv

 

あやめの種類はsetosa(セトナ)、versicolor(バーシクル)、virginica(バージニカ)の3種類。sepalはがく片、petalは花びらでそれぞれの長さと幅が記載されています。

 

 

スポンサーリンク

 

 

開発環境

Mac(OS X EL Captin/10.11.3)
Python 3.5.1 :: Anaconda 2.5.0 (x86_64)
jupyter 4.0.6
pandas 0.18.0
numpy 1.10.4

 

まずはiris.csvを読み込みデータフレームを作成します。

結果(10行のみ表示)

  SepalLength SepalWidth PetalLength PetalWidth Name
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
3 4.6 3.1 1.5 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa
5 5.4 3.9 1.7 0.4 Iris-setosa
6 4.6 3.4 1.4 0.3 Iris-setosa
7 5.0 3.4 1.5 0.2 Iris-setosa
8 4.4 2.9 1.4 0.2 Iris-setosa
9 4.9 3.1 1.5 0.1 Iris-setosa

 

iris.cvは1行目に「SepalLength」や「Name」などのヘッダが含まれていますが、もし以下のリンクにあるようなヘッダのないデータの場合は、5行目のようにnamesパラメータでヘッダを付加することができます。

https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data

 

9行目

ヘッダの列名をcolumnsパラメータで変更することができます。

 

 

SepalLengthが7.3よりも大きいデータを表示させます。

結果

  SepalLength SepalWidth PetalLength PetalWidth Name
105 7.6 3.0 6.6 2.1 Iris-virginica
117 7.7 3.8 6.7 2.2 Iris-virginica
118 7.7 2.6 6.9 2.3 Iris-virginica
122 7.7 2.8 6.7 2.0 Iris-virginica
130 7.4 2.8 6.1 1.9 Iris-virginica
131 7.9 3.8 6.4 2.0 Iris-virginica
135 7.7 3.0 6.1 2.3 Iris-virginica

 

 

ピボットテーブルを作成します。

結果

Name Iris-setosa Iris-versicolor Iris-virginica
PetalLength 73.2 213.0 277.6
PetalWidth 12.2 66.3 101.3
SepalLength 250.3 296.8 329.4
SepalWidth 170.9 138.5 148.7

 

aggfuncパラメータで統計量を指定しています。上記では合計を表示させています。

 

 

setosa(セトナ)のデータを抜き出して、平均(mean)や標準偏差(std)などの要約統計量を表示させます。

結果

  SepalLength SepalWidth PetalLength PetalWidth
count 50.00000 50.000000 50.000000 50.00000
mean 5.00600 3.418000 1.464000 0.24400
std 0.35249 0.381024 0.173511 0.10721
min 4.30000 2.300000 1.000000 0.10000
25% 4.80000 3.125000 1.400000 0.20000
50% 5.00000 3.400000 1.500000 0.20000
75% 5.20000 3.675000 1.575000 0.30000
max 5.80000 4.400000 1.900000 0.60000

 

 

その他の統計基本量は以下のように取得できます。

 

 

追記


 

scikit-learnライブラリのサンプルデータセットでもIrisデータを取得できます。

結果

  sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) Name
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa

 

 

参照文献・ページ


 

第4章 Pythonによる機械学習 早川敦士

 

Capter2 Data loading and preprocessing with pandas

Google ブックス

 

biostatistics

Pandas データフレーム

 

pandas 0.18.0 documentation

pandas.DataFrame.pivot_table

 

 

 

LINEで送る
Pocket

Copyright © 2019 思考の葉 All Rights Reserved.  プライバシーポリシー