TECH PLAY

データサイエンス100本ノック 構造化データ加工編 ガイドブック

3,960円 (税込)

楽天

データサイエンス100本ノック 構造化データ加工編 ガイドブック

書籍情報

発売日:

著者/編集:森谷 和弘/鈴木 雅也

出版社:ソシム

発行形態:単行本

書籍説明

目次

Part 1 データサイエンス100本ノック(構造化データ加工編)とは何か 1.1 データサイエンティストが必要とされる社会背景 1.2 100本ノックの狙い 1.3 100本ノックの問題構成とその意図 1.4 100本ノックの提供コンテンツ 1.5 本書の見方 Part 2 100本ノック環境のセットアップと利用方法 2.1 100 本ノック環境について 2.2 100本ノック環境を動かすために必要なリソースやソフトウェア 2.3 Dockerのインストール 2.4 Docker Desktopの起動 2.5 100本ノック環境の取得 2.6 100本ノック環境の起動 Part 3 データサイエンス100 本ノック[構造化データ加工編] Chapter 1 列に対する操作 001 全項目指定 全項目を指定行数抽出する 002 列指定 特定の列を抽出する 003 列名変更 指定列の列名を変更する Chapter 2 行に対する操作 004 単一条件 特定条件に合致する行を抽出(=、>、<) 005 複数条件 複数条件に合致する行を抽出する① 006 複数条件 複数条件に合致する行を抽出する② 007 範囲指定 複数条件に合致する行を抽出する③ 008 不一致 特定条件に合致しない行を抽出する(!=) 009 補集合 ド・モルガンの法則で書き換える Chapter 3 あいまい条件 010 前方一致 データの前方一致で条件指定する 011 後方一致 データの後方一致で条件指定する 012 部分一致 データの部分一致で条件指定する 013 前方一致 正規表現の前方一致で条件指定する 014 後方一致 正規表現の後方一致で条件指定する 015 部分一致 正規表現の部分一致で条件指定する 016 フォーマット一致 特定のデータ書式で条件指定する Chapter 4 ソート 017 並び替え データを昇順に並べる 018 並び替え データを降順に並べる 019 順位 順位付けする(同一順位あり) 020 順位 順位付けする(同一順位なし) Chapter 5 集計 021 カウント データの件数をカウントする 022 カウント データのユニーク件数をカウントする 023 合計 対象データの合計値を算出する 024 Max/Min 対象データの最大値を求める 025 Max/Min 対象データの最小値を求める 026 Max/Min 集計結果に対する条件指定で絞り込む 027 統計量 対象データの平均値を求める 028 統計量 対象データの中央値を求める 029 統計量 対象データの最頻値を求める 030 統計量 対象データの分散を求める 031 統計量 対象データの標準偏差を求める 032 統計量 データのパーセンタイル値を求める 033 統計量 統計量に対する条件指定で絞り込む Chapter 6 副問合せ 034 検索結果からのサブクエリ 検索結果から集計する 035 条件指定でのサブクエリ 検索結果を条件指定に使った副問合せを行う Chapter 7 結合 036 内部結合 トランザクションとマスタを内部結合する 037 内部結合 マスタ同士を内部結合する 038 左外部結合 左外部結合でデータを残す 039 完全外部結合 完全外部結合ですべてのレコードを残す 040 クロス結合 クロス結合ですべてのレコードの組合せを作成する 041 自己結合による時系列のずらし n件前のデータを結合する 042 自己結合による時系列のずらし 過去n件のデータを結合する Chapter 8 縦横変換 043 縦から横への変換 縦持ちデータを横持ちデータに変換する 044 横から縦への変換 横持ちデータを縦持ちデータに変換する Chapter 9 データ変換 045 日付型からの変換 日付型データを文字列データに変換する 046 日付型への変換 文字データを日付型データに変換する 047 日付型への変換 数値データを日付型データに変換する 048 日付型への変換 エポック秒(UNIX時間)を日付型データに変換する 049 日付要素の取り出し 日付データから特定の年だけ取り出す 050 日付要素の取り出し 日付データから特定の月だけ取り出す 051 日付要素の取り出し 日付データから特定の日だけ取り出す 052 二値化 数値データを二値(0と1)データに変換する 053 二値化 文字データを二値(0と1)データに変換する 054 カテゴリ化 テキストラベルからカテゴリデータを作成する 055 カテゴリ化 数値からカテゴリデータを作成する 056 カテゴリ化 件数の少ないカテゴリを適切なカテゴリに寄せる 057 カテゴリ化 カテゴリ同士を組合せた新たなカテゴリを作成する 058 ダミー変数化 ダミー変数(0と1)に変換する(カテゴリ型→ダミー変数) Chapter 10 数値変換 059  正規化(z-score) 平均0、分散1に変換する 060  正規化(Min-Max normalization) 最小値0、最大値1に変換する 061  対数化  数値データを対数変換する(常用対数) 062  対数化  数値データを対数変換する(自然対数) Chapter 11 四則演算 063 四則演算 数値を引き算する 064 四則演算 数値を割り算する 065 四則演算 除算結果に対して有効桁数未満を切り捨てる 066 小数の扱い 除算結果に対して有効桁数未満を四捨五入する 067 小数の扱い 除算結果に対して有効桁数未満を切り上げる 068 小数の扱い 乗算結果に対して有効桁数未満を切り捨てる 069 集計結果の演算 集計結果から割合を計算する Chapter 12 日付型の計算 070 経過日数の計算 2つの日付から経過日数を計算する 071 経過日数の計算 2つの日付から経過月数を計算する 072 経過日数の計算 2つの日付から経過年数を計算する 073 経過時間の計算 2つの日付から経過時間をエポック秒で計算する 074 経過時間の計算 月曜日からの経過日数を計算する Chapter 13 サンプリング 075 ランダム ランダムサンプリングを行う(単純無作為抽出) 076 層化 カテゴリの割合に応じたサンプリングを行う(層化抽出) Chapter 14 外れ値・異常値 077 外れ値除外 統計的に外れ値を除外する(3σ外の除外) 078 外れ値除外 統計的に外れ値を除外する(IQR1.5倍) Chapter 15 欠損値 079 欠損列状況確認 欠損値がある列を確認する 080 欠損レコード削除 欠損値があるレコードを削除する 081 数値補完(平均値) 平均値を用いて欠損値を補完する 082 数値補完(中央値) 中央値を用いて欠損値を補完する 083 数値補完(カテゴリごとの中央値) カテゴリごとに算出した中央値で欠損値を補完する Chapter 16 除算エラー対応 084 0で代替 分母が欠損値や0の場合でも除算結果データを作成する Chapter 17 座標データ 085 ジオコード 郵便番号からジオコードに変換する 086 ジオコード 経度緯度から距離を計算する Chapter 18 名寄せ 087 完全一致 PK以外の項目を利用した名寄せを行う 088 変換データ作成 名寄変換データを作成する Chapter 19 データ分割 089 レコードデータ ホールドアウト法によるデータの分割を行う 090 時系列データ 時系列データを分割する Chapter 20 不均衡データ 091 アンダーサンプリング アンダーサンプリングにより不均衡データを調整する Chapter 21 正規化・非正規化 092 正規化 第三正規形に正規化する 093 非正規化 第三正規形から非正規化する Chapter 22 ファイル入出力 094 CSV出力(ヘッダ有り、コード変換なし) ヘッダ有無と文字エンコーディングを指定し、CSVファイルを作成する① 095 CSV出力(ヘッダ有り、UTF-8→SJIS) ヘッダ有無と文字エンコーディングを指定し、CSVファイルを作成する② 096 CSV出力(ヘッダ無し、コード変換なし) ヘッダ有無と文字エンコーディングを指定し、CSVファイルを作成する③ 097 CSV入力(ヘッダ有り、コード変換なし) ヘッダ有無と文字エンコーディングを指定し、CSVファイルを読み込む① 098 CSV入力(ヘッダ無し、コード変換なし) ヘッダ有無と文字エンコーディングを指定し、CSVファイルを読み込む② 099 TSV出力(ヘッダ有り、コード変換なし) ヘッダ有無と文字エンコーディングを指定し、TSVファイルを作成する 100 TSV入力(ヘッダ有り、コード変換なし) ヘッダ有無と文字エンコーディングを指定し、TSVファイルを読み込む Appendix Dockerを利用できない場合―CSVから100 本ノック環境を構築する方法 A.1 SQL用のデータ読み込み方法 A.2 Python用のデータ読み込み方法 A.3 R用のデータ読み込み方法 索引

著者情報

森谷 和弘

1975年生まれ。 データ解析設計事務所 代表、データアナリティクスラボ株式会社 取締役CTO、データサイエンティスト協会スキル定義委員。2000年に一橋大学大学院 経済学研究科 経済理論・経済統計専攻を修了後、SIerや金融工学ソフトウェア・データサイエンス企業を経て現職。2020年にデータサイエンス100本ノック(構造化データ加工編)を開発し、データサイエンティスト協会からリリース。

森谷, 和弘, 1975-

鈴木 雅也

1995年生まれ。 2019年に茨城大学大学院 理工学研究科 博士前期課程 情報工学専攻修了後、株式会社ミクシィへ新卒入社。データ分析やデータ分析基盤の構築・運用を経て、現在はWebサービスの開発に従事。フリーランスとしてCloud LaTeXの開発や技術書の執筆にも従事。データサイエンス100本ノック(構造化データ加工編)リリース後の基盤改善やCI構築に寄与。

鈴木, 雅也, 1995-