本リポジトリでは、ググっても簡単には出てこないコードや、つい忘れてしまうコードをまとめる。
現在の対象は下記の通り
- Pandas(DataFrameを使った前処理など)
- Python(Pandasを使わない処理)
以下の項目については未着手
- Matplotlib
- SQL
- Tableau
sequenceDiagram
自社PC->>本リポジトリ: コード追加
loop コードレビュー
本リポジトリ->>本リポジトリ: マージ
end
クライアントPC-->>本リポジトリ: ファイルの閲覧
ブラウザで本リポジトリのmainブランチにアクセスする。
ブラウザで本リポジトリにアクセスし、Issuesに質問・要望を追加する。
- リポジトリのcloneを実行する
- 新しくブランチを作成する
- 追加コードをcommitし、pull request(PR)を作成する
- 管理者によりPRが承認されたらmainにmergeする
各メンバーがmainから新しくブランチを作成し、追加したコードをmainにマージしてノウハウを蓄積していく。
mainに直接pushすることは禁ずる。
gitGraph
commit id: "Aさんブランチ作成"
branch member-A
commit id: "feat: コードA1"
commit id: "fix: バグ修正"
checkout main
commit id: "Bさんブランチ作成"
branch member-B
commit id: "feat: コードB1"
checkout main
merge member-B tag: "Bさんコード追加"
commit id: "Cさんブランチ作成"
branch member-C
commit id: "feat: コードC1"
checkout main
merge member-A tag: "Aさんコード追加"
Mac OSでの作業を想定。
- 秘密鍵を生成(色々聞かれるけど全てEnterかyを入力でok)
ssh-keygen -t rsa
- 以下のコマンドで秘密鍵の中身をクリップボードにコピー
pbcopy < ~/.ssh/id_rsa.pub
※秘密鍵が流出するとGitHubのアカウントが誰でも使えてしまうので取扱注意
- 右上のアカウントのアイコンをクリックし、Settingsをクリック
- Accessの中のSSH and GPG keysをクリック
- New SSH keyをクリック
- Titleを適当に入力し、Keyに秘密鍵の中身を
Command + V
でペースト - Add SSH Keyをクリック
- ホームディレクトリに移動
cd ~
- ディレクトリを作成して移動(devはフォルダ名なので自分の好きなように変えてok)
mkdir dev; cd $_
- リポジトリをclone
git clone [email protected]:Taichi-Ibi/ggg.git
- Finderでdevフォルダに移動してipynbファイルが動くことを確認する
- 新しくブランチを作成しチェックアウトする
- script/ipynbの内のipynbファイルやdocument/mdの内のmdファイルを編集し保存する
- before_commit.pyを実行する
- ipynbファイルの実行回数の初期化、空白セルの削除、pyファイルの生成を行うスクリプト
- nbconvertの実行時にエラーが出た場合は、
pip install nbconvert
でnbconvertをインストールする
- Gitにpushしpull requestを作成する
- 有用なコードと判断された場合、mainブランチにマージできる(技術共有1回とカウント)
.
├── document # Taleauなどのテクニックをドキュメント形式でまとめる
│ └── md
├── module # sqlite3などでsample_dataを扱うための自作モジュール
├── sample_data
├── script # PythonやSQLのテクニックをまとめる
│ ├── ipynb
│ └── py # ipynbファイルから生成されたpyファイル(コードのdiff閲覧に使用)
├── before_commit.py # コミット前に実行するファイル
└── README.md
データサイエンス100本ノック(構造化データ加工編)のデータ一式を引用しております。
- Slatkin B., & ブレットスラットキン. (2020). Effective Python: Pythonプログラムを改良する90項目.
- 本橋智光. (2018). 前処理大全: データ分析のためのSQL/R/Python実践テクニック.
- van Rossum G. (2021). Pythonチュートリアル.
- Boswell D., & Foucher T. (2012). リーダブルコード: より良いコードを書くためのシンプルで実践的なテクニック. O’Reilly Media.
- 森谷和弘, & 鈴木雅也. (2022). データサイエンス100本ノック構造化データ加工編ガイドブック.
- 下山輝昌, 松田雄馬, & 三木孝行. (2022). Python実践データ分析100本ノック第2版. 秀和システム.