SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Pythonによるデータ解析入門

Pythonではじめての統計~基本情報の確認から検定まで

Pythonによるデータ解析入門 第3回

  • このエントリーをはてなブックマークに追加

 本稿ではプログラミングの基本は理解しているがより実践的なデータ解析に取り組みたい方を対象に、スクリプト言語によるデータ解析の実践を解説します。スクリプト言語の中でも特にデータ解析に役立つライブラリや環境が整っているPythonをとりあげ、対話型解析ツールやライブラリについて導入から解析の実行・可視化までを解説します。本稿ではPythonによる統計データ解析を解説します。まず統計の概観について確認し、Jupyter Notebookを使った基本統計量の確認・相関・検定の手順を解説します。

  • このエントリーをはてなブックマークに追加

対象読者

  • Pythonの基本的な文法を理解しておりデータ解析のスキルアップに取り組みたい方

サンプルの動作確認環境

  • MacOS 10.13
  • Anaconda 5.1
  • Python 3.6
  • Jupyter Notebook 5.4

統計の概要

 この章では実際にPythonでの統計処理に入る前に、統計自体について簡単に触れていきます。

統計とは

 統計とは「事象の個々の構成要素(サンプルや標本と呼びます)を調べ、事象全体を推定する」ことです。統計は英語でstats(統計学はstatistics)ですが、国を表すstateという言葉から派生している語です。国に関する情報のように、全てを調べることが難しい対象についても、その全体像を予測しようという数学にもとづく学問です。

 サンプルから全体を予測するために、分布を想定するのが一般的な統計の特徴です。

統計の基本的要素

 統計で頻出する基本的な用語について説明します。

  • 平均:データを代表する値(代表値)の一つです。代表する値としては他に中央値や最頻値があります。
  • 標準偏差:データのばらつき具合を表す値です。
  • 分布:値がある確率で出現する場合にその確率の様子を表したものです。

 例えば、正規分布は平均と標準偏差で表現できます。標準偏差をσとすると平均から±σの範囲でデータが68%、±2σの範囲で95%収まる、といった性質があります。

Pythonではじめての統計

 Pythonで統計を活用したデータ解析を行う方法を紹介します。今回はデータ解析のためのライブラリであるPandasの他にSciPyを利用します。SciPyは高度な科学計算を行うためのライブラリです。

準備

 Pythonによるデータ解析を進める環境としてJupyter Notebookを使います。導入方法や基本的な使用方法は連載の第1回記事を参照してください。

 前回の記事と同じく、解析対象のデータとして、2017年のテニス(ATP:テニスのプロ組織)の試合データを用います。

 データソースとしてはJeff Sackmann / Tennis Abstractにクリエイティブ・コモンズのライセンスで公開されているデータを使います。

ライブラリの導入とデータロード

 まず必要なライブラリをインポートします。

 NumPyPandasmatplotlibと今回はSciPyをインポートします。SciPyの中で統計の計算も手軽に利用できるstatsモジュールを利用します。

import numpy as np
import pandas as pd
import scipy.stats as st
import matplotlib.pyplot as plt
%matplotlib inline

 データセットはCSV形式(カンマ区切りのテキストファイル)です。PandasのDataFrameとして読み込むため、read_csv関数を呼び出します。

df_raw = pd.read_csv('https://github.com/JeffSackmann/tennis_atp/blob/master/'
                 'atp_matches_2017.csv?raw=true')

 これでデータフレームのdf_rawにデータが格納されました。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Pythonではじめての統計(2)

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Pythonによるデータ解析入門連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 西 潤史郎(ニシ ジュンシロウ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook<個人紹介>フリーランスとしてデータ解析エンジニアとして主にビッグデータ関連の仕事をしています。TableauなどBIやビッグデータ処理などビジネスデータ解析環境の構築・運用、また解析系のアプリケーション開発やGoogleアナリティクス活用支援などを行っています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11201 2018/11/15 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング