こんにちは,米国データサイエンティストのかめ(@usdatascientist)です.
この度33回に渡る「データサイエンスのためのPython入門講座」を書き終えたので,目次とまとめの記事を書いていこうと思います.
(「データサイエンスのためのPython講座」動画版がでました!詳細はこちら)
目次
本講座の目的
本講座では,Pythonでデータサイエンスをするにあたり必要な環境構築・Pythonの基本・データサイエンスに使うPythonライブラリの基本・その他データサイエンスで頻出のPythonモジュールの’基本の’使い方をマスターすることを目的としています.
この講座で目指すところは
- Pythonでデータサイエンスに必要なデータ処理をするためのツール・ライブラリ・モジュールの使い方の基本をマスターする
- Excelなどの表計算ツールを使うことなくデータ処理ができる
- 画像ファイルなどのデータファイルに対して処理ができる
- 日頃のデータ処理(Excelなど)をPythonで自動化できる
といったところです.一部統計学についても触れていますが,「データサイエンスを学べる講座」ではなく「データサイエンスのためのPythonを学ぶ講座」であることに注意してください.
ただ,講座の中にはいたるところに「現場で使えるテクニック」や「データサイエンスの頻出テクニック」をふんだんに盛り込んでいるため,広義の意味でのデータサイエンスを学ぶことはできます.
とにかくわかりやすく書いたつもりです.難しい単語はあまり出てきませんし,かなり噛み砕いて説明しているので途中で止まることはないと思います.
また,教科書的に教えるのではなく,「現場では実際どう使うのか」をいたるところに盛り込んでいます.そのため「ある程度体系的に網羅的にかつ実戦で使える内容」になっています.
前提知識
ありません.やる気と根性さえあればできます.
嘘です.
時間があれば本講座を始める前に以下を準備しておくといいと思います.
- Mac(およびその設定)
本ブログではMacを推奨しています.Macのおすすめ設定をまとめている記事があるので参考にしてください.
また,Windowsでも当然講座を進めることはできます.おそらく最初の環境設定以外は関係ないと思います.
- Docker
本講座ではDockerを使って環境構築をします.Dockerなしでもできますが,データサイエンスのPython環境をDockerなしで作るのは大変ですし,Dokcerはもはやテック業界の標準ツールです.
本講座に必要な知識は以下のDocker講座で得られます.↓こちらのページからどうぞ.7回しかないのでそんなに時間かからないと思います.
・Pythonの超基本
本講座でもPythonの基本的な文法やデータ構造,使い方についておさらい程度にまとめています.
おそらくプログラミング経験者であれば,Pythonを触ったことなくても進められると思いますが,プログラミングを一切やったことがない人は,ProgateのPythonコースやCodecademyのPythonコースなどのPython超入門な教材をやっておくことをお勧めします.(それもめんどくさい〜って人はとりあえず本講座を進めてみてください.難しいと思ったらもっと簡単なPythonの教材で勉強するといいと思います.
本講座のスコープ
本講座で扱うツール・ライブラリ・モジュールは以下です.
- Docker
- Jupyter Lab
- Pythonの基本文法,使い方
- NumPy
- Pandas
- matplotlib
- Seaborn
- OpenCV
- glob
- tqdm
- os
- multiprocessing
盛りだくさんですが,どれもPythonでデータサイエンスをする上で必須のものです.
どのツールも密接につながっています.講座内では記事同士のリンクが貼られているので,わからない単元をピックアップして記事に飛んでも,そこから関連の記事に飛べるようになっています.(大変でしたが頑張りました...
なので最初から読み進めてもいいし,基礎がある方は気になる記事から読んでいってもOKです!
目次
講座全体の目次は以下のようになっています.です.
環境構築
Docker + Jupyter Lab + AnacondaでPythonの開発環境を構築します.
データサイエンスのためのPython入門①〜DockerでJupyter Labを使う〜
データサイエンスのためのPython入門②〜Jupyter Labの使い方とショートカット一覧まとめ〜
Python基本
本講座を進めるにあたって必要なPythonの基本的な使い方を紹介します.
データサイエンスのためのPython入門③〜Pythonのデータタイプまとめ〜
データサイエンスのためのPython入門④〜文法まとめ1 演算子, if文, ループと内包表記〜
データサイエンスのためのPython入門⑤〜文法まとめ2 関数〜
NumPy
NumPyという数値計算ライブラリを紹介します.
データサイエンスのためのPython入門⑥〜はじめてのNumpy〜
データサイエンスのためのPython入門⑦〜これだけ知っておけばいいNumPyのindexingとslicing〜
データサイエンスのためのPython入門⑧〜NumPyでよく使う行列生成〜
データサイエンスのためのPython入門⑨〜NumPyでよく使う便利関数〜
Pandas
Pandasという表計算に特化したライブラリを紹介します.
データサイエンスのためのPython入門⑩〜PandasインストールからSeriesの使い方〜
データサイエンスのためのPython入門11〜PandasのDataFrameを作る.CSVファイルを読み込む〜
データサイエンスのためのPython入門12〜DataFrameの基本的な使い方(head, describe, Seriesの取得など)〜
データサイエンスのためのPython入門13〜DataFrameのフィルタ操作の基本(超重要)〜
データサイエンスのためのPython入門14〜DataFrameの欠損値NaNに対応する〜
データサイエンスのためのPython入門15〜DataFrameのgroupbyをマスターする〜
データサイエンスのためのPython入門16〜DataFrameのテーブル結合を完全解説(merge, join, concat)〜
データサイエンスのためのPython入門17〜DataFrameの重要関数(apply, unique, value_counts)を超わかりやすく解説〜
データサイエンスのためのPython入門18〜DataFrameのその他頻出関数(to_csv, iterrows, sort_values)を解説〜
データサイエンスのためのPython入門19〜DataFrameのその他頻出関数(pivot_table, xs)を解説〜
matplotlib
matplotlibというグラフ描画用ライブラリを紹介します.
データサイエンスのためのPython入門20〜matplotlibを使ってData Visualizationを始めよう〜
データサイエンスのためのPython入門21〜matplotlibのsubplotとオブジェクト指向を使って複数のグラフを並べる〜
データサイエンスのためのPython入門22〜matplotlibを使ってグラフをPNG,PDFで保存する〜
データサイエンスのためのPython入門23〜matplotlibで色々なグラフを描画する〜
Seaborn
Seabornというmatplotlibのラッパーライブラリを紹介します.matplotlibより綺麗なグラフを超簡単に描けます
データサイエンスのためのPython入門24〜Seabornで簡単にお洒落な図を描画する【ヒストグラム,散布図編】〜
データサイエンスのためのPython入門25〜Seabornで簡単にお洒落な図を描画する【barplot, boxplot, swarmplot等】〜
データサイエンスのためのPython入門26〜Seabornを使ってデータサイエンスに必須のHeatmapを描画する〜
データサイエンスのためのPython入門27〜Seabornの装飾(style)をいじる〜
その他便利ライブラリ・モジュール等
そのほか,データサイエンスをする上で使えるライブラリやモジュールを紹介します.
データサイエンスのためのPython入門28〜OpenCVによる画像の読み込みと色空間の変換,表示〜
データサイエンスのためのPython入門29〜globの使い方・応用まで完全解説〜
データサイエンスのためのPython入門30〜tqdmを使ってforループでプログレスバーを表示する〜
データサイエンスのためのPython入門31〜osモジュールとpathlibモジュールを使って安全にPath操作をする〜
データサイエンスのためのPython入門32〜これだけ知っておけばいいmultiprocessingでの並列処理〜
データサイエンスのためのPython入門33(最終回)〜Pythonスクリプトを作ってJupyterから呼び出す〜
いやーこうやって一覧にすると長いな・・・(よく頑張った・・・
これらの内容はPythonでデータサイエンスする上で必須の知識だし,米国の最先端企業で働く多くのデータサイエンティストが日々当たり前のように使っているものばかりです.
おそらく向こう5年は使える技術だと思います.Pythonは今めちゃくちゃ人気な言語ですし,今後AIやデータサイエンスの需要は上がる一方だと思います.本講座は「Python x データサイエンス」の入り口です.これらの知識なくしてPythonでデータサイエンスはできません.是非時間を割いて進めていただければと思います!その投資は絶対に大きなリターンになって返ってくるはず◎
読者のみなさんからの声
最近では、@usdatascientistさんが素晴らしいPython入門ブログ書かれているので、お金かければなんでもいいわけじゃないな。
https://t.co/f5BwTz6fIq— rk_seamless (@rk115877) February 23, 2020
半日の間、ずっとかめさん(@usdatascientist)のブログで勉強してみる。
dockerからNumpyの使い方まで終了!
昨日勉強できなかった分今日は頑張った!!
少しずつ知っている分野に入ってきているのが嬉しい(^^)https://t.co/uKtw6dMvuz— Kai@駆け出しデータサイエンティスト (@Kai56163027) February 22, 2020
読むだけでも面白い
データサイエンスのためのPython入門12〜DataFrameの基本的な使い方まとめ①〜 https://t.co/gSHPy7tzn0 @usdatascientistから
— カマキリ🐲@物理ブログ書いている (@t_kun_kamakiri) February 20, 2020
昨晩はできなかったので、今日は一気に進めてみました。プラグラミングはやったことはなく、初心者ですが
とても読みやすいので、どんどん次に行きたくなる。でも本番はここからなので、じっくり着実に進めて行こう。https://t.co/qH37e5jzkZ@usdatascientist— データサイエンティスト目指します! (@ytxscientists) February 15, 2020
卒論でpython使ったけど、わからないとこ調べながらって感じだったので体系的に学べたらと思っていたところにとてもわかりやすいブログ見つけた。DataFrameの扱い方とかわかりやすい、、というか親切、@usdatascientisthttps://t.co/8WHHovUR67
— みずの (@taka_water_32) February 11, 2020
かめ(@usdatascientist)さんのブログでのPython学習でPandasの記事へ到達.
わかりやすく,濃い記事なのに更新が早くて追いつけない笑個人的につまづいていた設定関係の問題にも親切に丁寧に対応していただけて,おんぶにだっこですが頑張ります.https://t.co/r4gq5P0xV6
— couma (@nerve51) February 22, 2020
なんと!大量のグラフで困ってたけど、PDF化して検索、なんて技があったのか。有益な情報を、初心者にも分かりやすく説明してくれている。本当にありがたいです。
https://t.co/aG6C8Uiy3l @usdatascientistから
— eco (@1007shingo0705) February 20, 2020
・・・ここにあげたのはほんの一部ですが,毎日多くの読者の方々から高評価いただいております.(ありがとう・・!
本講座の連載期間(2ヶ月)でTwitter(@usdatascientist)のフォロワーは350人→7300人になり,ブログのPVも200PV/日→4000PV/日に急成長しました.
みんなコメントありがとう.リプは基本全部見てるし,質問は一応全部答えている(つもり).
時差もあるし,フォロワーの数も増えてなかなかリプに返信できていませんが,応援メッセージ本当に嬉しいです.励みになります.
(朝起きるとTwitterのnotificationがリプでいっぱい・・・)
講座でわからなかったこと,わかりにくいところがあれば是非フィードバックください.DMであればおそらく埋もれることなく返信可能だと思います.
また,講座が少しでも役に立ったら周りの友人や同僚に進めていただけると嬉しいです.
今後は本講座で学んだPythonの知識を活かして,統計学と機械学習を学べる講座を作っていく予定です!
お楽しみに!それでは!
[…] 『Progate』を終えたレベルくらいになると、本や有料の動画を買ってもいいのですが、かめさんという方がブログで提供している『データサイエンスのためのPython入門講座』がハイクオリティかつ無料で利用できるので、このタイミングでこの講座を一通りやりましょう。 […]
[…] https://datawokagaku.com/python_for_ds_summary/ […]
[…] […]
[…] https://datawokagaku.com/python_for_ds_summary/ […]