関連サイト
本書の関連ページが用意されています。
内容紹介
●データの加工や分析の実践スキルを身につけよう
本書は、Pythonやpandasの基礎を身につけた方が、データ分析を行ううえで知っておきたい「データ分析の実務で使うノウハウ」をまとめた書籍です。
さまざまな種類のデータの読み込みから加工、可視化、データの評価、pandasやNumPyの活用方法など、Pythonを使ってデータを加工し分析する方法を詳しく学べます。データ加工のレシピやデータ分析に必要な数学の知識についても学べます。
【本書で学べること】
・データ加工の基礎知識
・データの種類と読み込み
・表形式データの加工
・NumPyと数値データ
・データの評価
・時系列データの処理
・テキスト情報の処理
・画像データの処理
・グラフデータの処理
・地理空間データの処理
・データ分析に必要な線形代数
【本書で学べること】 「Pythonのデータ活用や加工をより詳しく理解したい」「実務でデータ分析をしたい」「幅広いデータ形式の知識を持ちたい」「普段からPythonでデータ分析をしているが、データハンドリングの知識を学びたい/ツールの使い方を調べたい」といった方におすすめの一冊です。
書誌情報
- 著者: 寺田 学, 神沢 雄大, @driller, 辻 真吾
- 発行日: 2023-09-22 (紙書籍版発行日: 2023-09-22)
- 最終更新日: 2024-02-09
- バージョン: 1.0.1
- ページ数: 424ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
Pythonのデータ活用や加工をより詳しく理解したい方・実務でデータ分析をしたい方・幅広いデータ形式の知識を持ちたい方・普段からPythonでデータ分析をしているがデータハンドリングの知識を学びたい/ツールの使い方を調べたい方
著者について
寺田 学
Python Web関係の業務を中心にコンサルティングや構築を株式会社CMSコミュニケーションズ代表取締役として手がけている。ほかにも、一般社団法人PyCon JP Association理事や一般社団法人Pythonエンジニア育成推進協会 顧問理事を務める。Pythonをはじめとした技術話題を扱うPodcast「terapyon channel」https://podcast.terapyon.net/を配信中。共著『見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑』『Pythonによるあたらしいデータ分析の教科書 第2版』(いずれも翔泳社)、監修『スラスラわかるPython 第2版』(翔泳社)、監訳『Pythonハッカーガイドブック』(マイナビ出版)、そのほかの執筆活動も行っている。
神沢 雄大
チューリッヒ保険会社にて、カスタマーエクスペリエンス向上やマーケティング、業務改善のためのデータ分析と機械学習モデル構築/運用に従事し、データに基づいたビジネス上の意思決定と効率化をサポートしている。R言語のコミュニティTokyo.Rの運営チームのメンバーでもあり、そのほか、定期的に国内外のイベントに登壇している。https://ytknzw.github.io/
@driller
デリバティブを中心とした金融データの分析にPythonを活用している。Python × 金融のコミュニティfin-py主宰。共著に『改訂版 Pythonユーザのための Jupyter[実践]入門』(技術評論社)、『Pythonインタラクティブ・データビジュアライゼーション入門』(朝倉書店)がある。
辻 真吾
大学の研究所に勤務し、Pythonを使ったデータ解析をバイオ、エネルギー、教育といった幅広い分野へ適用する研究を行っている。『Pythonスタートブック[増補改訂版]』(技術評論社)、『Pythonで学ぶアルゴリズムとデータ構造』(講談社)、『ゼロから始めるデータサイエンス入門——R・Python一挙両得——』(講談社)などの著書がある。詳しくは、www.tsjshg.infoまで。
目次
はじめに
- 本書を読む前に——対象読者と本書の概要
目次
第1章 データ加工概論
- 1-1 データ加工の目的
- 1-1-1 データ加工とは
- 1-1-2 データ加工の必要性
- 1-1-3 データ加工の実情
- 1-2 データ分析エンジニアの役割
- 1-2-1 データ分析エンジニアとは
- 1-2-2 データサイエンティストとは
- 1-3 データの種類
- 1-3-1 データ形式
- 1-3-2 データ構造
- 1-4 ライブラリの種類
- 1-4-1 ライブラリが提供する機能
- 1-4-2 主なライブラリ
第2章 データの種類と読み込み
- 2-1 CSV形式
- 2-1-1 CSV形式のデータ
- 2-1-2 データサンプル
- 2-1-3 open()関数で読み込み
- 2-1-4 pandasでCSV読み込み
- 2-1-5 csvモジュールで読み込み
- 2-2 Excel形式
- 2-2-1 Excelファイルの扱い
- 2-2-2 データサンプル
- 2-2-3 pandasでExcelファイルの読み込み
- 2-2-4 pandasでExcelファイルの書き込み
- 2-2-5 Pythonオブジェクトで読み書き
- 2-3 JSON形式
- 2-3-1 JSON形式の特徴
- 2-3-2 データサンプル
- 2-3-3 JSON形式の処理
- 2-3-4 jsonライブラリ
- 2-3-5 pandasのDataFrameに変換
- 2-3-6 pandasで直接読み込み
- 2-3-7 json_normalize()関数
- 2-4 HTML形式
- 2-4-1 Webスクレイピング
- 2-4-2 データサンプル
- 2-4-3 データの取得方法
- 2-4-4 pandasでtableタグを取得
- 2-5 XML形式
- 2-5-1 データサンプル
- 2-5-2 XML形式のデータ
- 2-5-3 pandasのオブジェクトに変換
- 2-6 文書データ
- 2-6-1 青空文庫のデータをDataFrame化
- 2-7 画像データ
- 2-7-1 Pillowで画像の読み込み
- 2-8 音声データ
- 2-9 RDBデータ
- 2-9-1 SQLite3
- 2-9-2 データサンプル
- 2-9-3 sqlite3モジュール
- 2-9-4 pandasでRDBデータの読み込み
- 2-10 pickle形式
- 2-10-1 pickleの注意点
- 2-10-2 DataFrameをpickle化
- 2-11 parquet形式
- 2-11-1 pickle形式との違い
- 2-11-2 pandasでの利用
- 2-11-3 pandas DataFrameとの違い
第3章 表形式データの加工
- 3-1 データの連結/結合
- 3-1-1 データの連結/結合方法と関数/メソッド
- 3-1-2 concat()関数によるDataFrameの連結
- 3-1-3 concat()関数によるDataFrameの結合
- 3-1-4 join()メソッドによるDataFrameの結合
- 3-1-5 merge()関数によるDataFrameの結合
- 3-2 データの変形
- 3-2-1 ピボットとアンピボット
- 3-2-2 スタックとアンスタック
- 3-2-3 ダミー変数
- 3-2-4 要素の展開
- 3-3 カテゴリーデータの処理
- 3-3-1 尺度水準
- 3-3-2 カテゴリーデータの生成
- 3-3-3 カテゴリーデータへの型変換
- 3-3-4 カテゴリーデータの順序付け
- 3-3-5 データの離散化によるカテゴリーデータの生成
- 3-3-6 .catアクセサ
- 3-3-7 CategoricalIndex
- 3-3-8 カテゴリーデータの結合
- 3-4 データのグループ化
- 3-4-1 GroupByオブジェクト
- 3-4-2 データの集約
- 3-4-3 GroupByオブジェクトのフィルタリング
- 3-4-4 GroupByオブジェクトのデータの可視化
- 3-5 階層型インデックス(MultiIndex)
- 3-5-1 MultiIndexの生成
- 3-5-2 MultiIndexを持つオブジェクトへのアクセス
- 3-5-3 MultiIndexのグループ化とアライメント
- 3-5-4 MultiIndexの階層の変更
- 3-5-5 MultiIndexのソート
第4章 NumPyと数値データ
- 4-1 配列の構造とブロードキャスト
- 4-1-1 配列の形状を変える
- 4-1-2 ブロードキャスト
- 4-2 数値データの型
- 4-2-1 NumPyの数値データ型
- 4-2-2 数値の演算と型の変換
第5章 データの評価
- 5-1 使用するデータの紹介と読み込み
- 5-1-1 ペンギンデータの概要
- 5-1-2 データ読み込み
- 5-1-3 読み込み結果の簡単なチェック
- 5-1-4 読み込んだデータの保存
- 5-2 定量的評価(統計量)
- 5-2-1 要約統計量の確認
- 5-3 定性的評価(可視化)
- 5-3-1 データ可視化のためのライブラリ
- 5-3-2 グラフの種類
- 5-4 データの分布の確認
- 5-4-1 統計的な確認
- 5-4-2 ヒストグラムによる分布の確認
- 5-4-3 散布図による分布の確認
- 5-5 外れ値、異常値
- 5-5-1 外れ値の確認
- 5-5-2 外れ値への対処方法
- 5-6 欠損値
- 5-6-1 欠損値の基礎知識
- 5-6-2 欠損値の発生パターン(メカニズム)と対処方法
- 5-7 値の重複
- 5-7-1 重複の有無の確認方法
- 5-7-2 重複の発生パターンと対処方法
第6章 時系列データの処理
- 6-1 時系列データを扱うpandas のデータ型
- 6-1-1 Timestampクラス
- 6-1-2 Periodクラス
- 6-1-3 Timedeltaクラス
- 6-1-4 DateOffsetクラス
- 6-2 時系列データのインデックス
- 6-2-1 DatetimeIndexクラス
- 6-2-2 date_range()関数
- 6-2-3 DatetimeIndexへのアクセス
- 6-2-4 PeriodIndexクラス
- 6-2-5 period_range()関数
第7章 テキスト情報の処理
- 7-1 Pythonを使った文字列処理
- 7-1-1 正規表現による処理
- 7-1-2 複数行のテキストデータの処理
- 7-1-3 DataFrame化
- 7-2 pandasによるテキストデータの処理
- 7-2-1 テキストデータで扱うデータ型
- 7-2-2 .strアクセサ
第8章 画像データの処理
- 8-1 Pillowを使った画像の加工
- 8-1-1 サムネイル化
- 8-1-2 クロップ(切り取り)
- 8-1-3 グレースケール(モノクロ)化
- 8-1-4 複数の画像をまとめて処理する方法
- 8-2 NumPyを使った画像データ処理
- 8-2-1 画像とNumPy配列の間の変換
- 8-2-2 拡大/縮小
- 8-2-3 切り取り/貼り付け
- 8-2-4 分割(n等分)
- 8-2-5 90度単位での回転
- 8-2-6 反転
- 8-2-7 複製/貼り合わせ
- 8-2-8 次元の操作
- 8-2-9 HWCとCHWとの変換
- 8-2-10 色(チャネル)の積み重ね/変換
第9章 グラフデータの処理
- 9-1 グラフとNetworkX
- 9-1-1 グラフ構造の例
- 9-1-2 グラフの基本
- 9-1-3 NetworkX入門
- 9-1-4 NetworkXを使ったグラフの解析
- 9-1-5 pyvisを使ったグラフの描画
- 9-1-6 グラフのためのファイル形式
- 9-2 実践的なグラフデータの解析
- 9-2-1 データの準備
- 9-2-2 グラフの構築
- 9-2-3 ノードの特徴を定量化する
第10章 地理空間データの処理
- 10-1 地理空間データの概要
- 10-1-1 地理空間データとは
- 10-1-2 GIS(地理情報システム)
- 10-1-3 CRS(座標参照系)
- 10-1-4 データ形式
- 10-1-5 GISで利用する主なライブラリ
- 10-2 地理空間データのファイル形式と読み込み
- 10-2-1 GeoJSON
- 10-2-2 シェープファイル
- 10-2-3 GeoTIFF
- 10-3 地理空間データの操作
- 10-3-1 Geometricオブジェクト
- 10-3-2 Geometricオブジェクトの属性
- 10-3-3 距離の算出
- 10-4 GeoPandas
- 10-4-1 GeoDataFrame
- 10-4-2 .cxインデクサ
- 10-4-3 GeoSeriesの処理
- 10-5 地理空間データの可視化
- 10-5-1 ポイントの可視化
- 10-5-2 ラインの可視化
- 10-5-3 ポリゴンの可視化
第11章 データ加工のための線形代数
- 11-1 線形代数の基本
- 11-1-1 ベクトルと内積
- 11-1-2 行列
- 11-1-3 転置行列とその性質
- 11-1-4 行列とベクトル
- 11-1-5 行列のランク
- 11-1-6 ベクトルの射影
- 11-1-7 固有値と固有ベクトル
- 11-1-8 行列の種類のまとめ
- 11-2 行列の特異値分解
- 11-2-1 2次元を1次元にする
- 11-2-2 行列を特異値分解する
- 11-2-3 特異値分解の詳細
- 11-2-4 特異値分解と主成分分析
- 11-2-5 行列の近似
- 11-2-6 特異値分解と固有値/固有ベクトル
付録A Pythonのインストール
- A-1 WindowsにPythonをインストールする
- A-2 macOSにPythonをインストールする
- A-3 コマンドラインでPythonを起動する
- A-4 仮想環境のススメ
付録B パッケージのインストール
- B-1 pipコマンド
- B-2 本書で利用するサードパーティ製パッケージ
付録C pandasとMatplotlibによる可視化
- C-1 使用データ
- C-2 散布図
- C-3 折れ線グラフ
- C-4 棒グラフ
- C-5 ヒストグラム
- C-6 箱ひげ図
- C-7 文字化けへの対処