LoginSignup
2
5

More than 3 years have passed since last update.

【技術書】Pythonによるデータ分析入門 -1章 はじめに-

Last updated at Posted at 2020-07-14

本書で使うデータファイルや関連する素材は下記のGitHubレポジトリ
https://github.com/wesm/pydata-book
要点をまとめた備忘録

目次

  1. 覚えておくとよいこと
  2. 必須のPythonライブラリ
  3. 専門用語等
  4. 感想等

覚えておくとよいこと

  • 優秀なデータ分析者になることを目的に書かれており、データ分析のために必要なプログラミングをPythonによって行うための知識を学ぶ本。
  • PythonはDjnagoなどのウェブフレームワークを使って、ウェブサイトの構築によく利用されている。データサイエンス、機械学習、一般的なソフトウェア開発において、最も重要な言語の1つ。
  • pandasやscikit-learnといったライブラリのサポートの改善により、Pythonはデータ分析における有力な選択肢になった。
  • Pythonはインタプリタ型言語なので、実行速度が遅い。待ち時間が短いことが求められるアプリケーションや、リソースの有効利用を要求するようなアプリケーション(例えば高頻度の取引システム)などでは、C++のような低レベル言語で性能を極限までに高める方が、有効な時間の使い方になる。
  • Pythonは、並列でマルチスレッドなアプリケーションを開発する言語としては難易度が高い(GILという機構による)

必須のPythonライブラリ

Numpy
Pythonにおける数値計算の基盤で、データ構造やアルゴリズムを提供
高速で効率的な多次元配列オブジェクトndarrayや数学的演算が代表的。

pandas
2010年に登場。
主要なオブジェクトはDataFrame = テーブル形式で列指向のデータ構造
numpyの高性能な配列計算機能と、スプレッドシートやリレーショナルデータベースのデータを(SQLのように)柔軟に操作する機能を併せ持つ。
pandasはこの本で主に扱うものの1つ。
データの操作や準備、クリーニング等行える。

Matplotlab
グラフなどの2次元形式の可視化に用いる最も一般的なPythonのライブラリ。
デフォルトで使う可視化ツールとして安全な選択肢

IpythonとJupyter
IPythonは、編集して実行して試行錯誤する状況での利用を推奨
2014年に、IPython web notebookはJupyter Notebookに変わり、今では40以上のプログラミング言語をサポートしている。Ipythonは、JupyterでPythonを使うためのカーネルとして使われている。
Jupyter Notebookは、ウェブベースでコードを書くための「ノート」である。
MarkdownやHTMLで内容を編集できるため、コードと文章が混在したリッチなドキュメントを作ることができる。

SciPy
科学計算の領域における一般的な問題を扱うパッケージを集めたもの。
NumpyとSciPyを一緒に用いることで、それらを合理的で成熟した計算基盤として使うことができ、多くの伝統的な科学計算に適用できる。

scikit-learn
一般的な「機械学習ツール」のトップに立つ。
分類、回帰、クラスタリングを始めとするサブモジュールや、交差検証、前処理など

statsmodels
scikit-learnと比べ古典的な統計分析用パッケージ。

専門用語等

  • Python 2.xは「レガシー Python」、Python 3.xを単に「Python」と呼ぶ
  • マンジング、ラングリング … 構造化されていなかったり、乱雑なデータを構造化されたきれいな形式に操作するプロセス全体のこと。
  • 疑似コード … アルゴリズムやプロセスを説明するため、ソースコードに似た形式で説明するもの。
  • シンタックスシュガー … 新機能を追加するわけではないが、入力を便利にするようなプログラミング言語の文法のこと。

感想等

初めてのqiita投稿は技術書の備忘録
復習に応じて編集したりしよう
qiitaで技術発信、人に見てもらいたいことを載せたりする
なるべく自分の言葉で書く。完璧を求めすぎず。
人に見てもらうというのは大変良いモチベーション、かつ勉強が効率的に進む。
全ては書けない、覚えておきたいことや理解に頑張ったこと、興味を持ったことをまとめる

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5