初心者データサイエンティストの備忘録

調べたことは全部ここに書いて自分の辞書を作る

エンジニアリング

【Python】argparseとタスクスケジューラを使った定期実行

Pythonのコードに引数を渡してコマンドラインで実行したいときがあります。その際に、用いるモジュールがargparseです。 このargparseの使い方についての記事はググれば多く見つかります。しかし、使いどころに関する記事は多くないです。そこで、私なりにar…

【Python】型ヒントの理解で苦しんだこと

Pythonの型ヒントについて勉強しているときに、理解に時間がかかったことをまとめようと思います。 型ヒントとは Pythonの型ヒントとは、定義した変数や関数の引数や返り値の型を注釈することです。 例えば、valという変数にはintしか入れたくないという場合…

【Git】すごいぞrebase -i

Git上でコミットを修正したいとき、rebase -iさえ覚えていればいろいろできることを知り感激。 この感激を忘れないために記事にすることにしました。 git rebase -iでできること git rebase -iでできることのうち、よく使うコマンドについてだけ書きます。 …

【Gitをはじめからていねいに】を読んで苦しんだ箇所一覧

社内異動に伴い、Gitを使うことになりました。 これを機にGitを勉強してみようと思い立ち、Gitをはじめからていねいにを読んでみました。 その際、一発で理解できなかったことを本記事ではまとめようと思います。 ※git version = 2.28.0.windows.1 ファイル…

bubbleチュートリアル2

ノーコード開発アプリbubbleを勉強しています。本記事はチュートリアル2の備忘録です。 今回作成するアプリの遷移図は下記の通りです。 図1:アプリの遷移図 部品の配置 まず、最初に各部品を配置します。各部品の種類を図2にまとめました。 図2:各部品の種…

オブジェクト指向設計実践ガイド【第5章】まとめ

オブジェクト指向の設計方法を学んでいます。 今回は、「オブジェクト指向設計実践ガイド」の「第5章:ダックタイピングでコストを削減する」を読みました。 なお、使用する言語はPythonです。 オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづけ…

bubbleチュートリアル1

ノーコードツールbubbleの勉強を始めた。 自分の備忘録のため、チュートリアルの解説記事を書こうと思う。 作成するもの 今回作成するものは、Google Mapに住所を入れるとピンを打ってくれるアプリ。 図1:作成するアプリの画面遷移イメージ 各部品の解説 「…

オブジェクト指向設計実践ガイド【第4章】まとめ

オブジェクト指向の設計方法を学んでいる。 今回は、「オブジェクト指向設計実践ガイド」の「第4章:柔軟なインターフェースをつくる」を読んだ。 なお、使用する言語はPython。 オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリ…

オブジェクト指向設計実践ガイド【第3章】まとめ

オブジェクト指向の設計方法を学んでいます。 今回は、「オブジェクト指向設計実践ガイド」の「第3章:依存関係を管理する」を読んでまとめていきます。 なお、使用する言語はPythonです。 オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔…

オブジェクト指向設計実践ガイド【第2章】まとめ

オブジェクト指向を使ってアプリケーションを作るために、オブジェクト指向の設計方法を学んでいます。 今回は、「オブジェクト指向設計実践ガイド」の第2章:単一責任のクラスを設計するを読んでまとめていきます。 なお、使用する言語はPythonです。 オブ…

pandas.mergeできないときは型を意識する

すごい基本的なことで、かつ調べればすぐわかることですがメモしておきます。 下記のような2つのデータフレームをカラムkeyで結合します。結合の仕方はなんでも良いです。 図1:結合対象のDatFrame 結合するときのスクリプトは下記の通りです。 import pand…

Pythonの@propertyの振る舞い

Pythonで@propertyがよくわからなかったので、色々調べてみた。 正直、完璧に理解した感はないが、一旦分かった範囲でまとめてみる。 @propertyとは? 「3.4. プロパティ - ゼロから学ぶ Python」よると、@propertyを下記のように説明している。 クラスのメ…

【読書記録】オブジェクト指向設計実践ガイド 第1章まとめ

オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方作者:Sandi Metz技術評論社Amazon 体系的にオブジェクト指向の設計方法を学ぶため、本書を読み始めました。 本書を読んで、過去に自分が作成したダメコードの拡…

継承できないメソッド・変数

車輪の再開発ですが、Pythonにおいて継承できないメソッド・変数をまとめます。 継承できないメソッド・変数 結論からいうと、__(アンダースコアが2個)が冒頭についているメソッド・変数は継承できません。 次のスクリプトを見てみましょう。 class Parent…

【読書記録】「速習 Python3 オブジェクト指向編」~プログラミングを書く際に意識すること~

速習 Python 3 中: オブジェクト指向編作者:伊藤 裕一Amazon 本記事は「速習 Python3 オブジェクト指向編」で学んだ内容のうち、プログラミングを書く際に意識することと本書から学べなかったことをまとめました。 この記事は完全に私の備忘録なので、書きた…

【Python】クロージャを使ったメモイズ機能についてのメモ

Pythonのクロージャについて調べていたときに、下記の記事を発見した。 www.lifewithpython.com この記事の中の以下のコードの挙動がうまく理解できなかったので、色々調べてみた。 def fibonacci_func(): """フィボナッチ数列を返す関数を返す メモイズ機能…

pandas.DataFrameの特定条件の行から値だけ取得する方法

pandas.DataFrameで特定条件の行から単独の値だけ取得する際にハマったことのメモ。 まずは問題設定。以下のようなスクリプトでDataFrameから一つだけ値を取り出して色々操作したい。 import pandas as pd df = pd.DataFrame( { 'key': ['K0', 'K1', 'K2', '…

Excelで縦持ちデータから横持ちデータに変換する方法

Excelで縦持ちデータを、横持ちデータに変換する方法についてのメモ。ピボットを使うと簡単だが、ピボットが使えない状態で関数を使って実現する方法を記載する。 まず、問題設定をする。図1の縦持ちデータを図2の横持ちデータに変換する。つまり、商品名と…

pandas.DataFrame.joinの右側DataFrameのキーは、indexしか指定できない

pandas.DataFrameのjoin関数で少しはまったのでメモ。 2個のpandas.DataFrameを結合しようとして下記のコードを書いた。このとき、dfとotherに共通のカラムkeyで結合しようとしたのだが、エラーを吐いてしまった。 gisted6a13740d3bf16c8608f60e28a2a316 原…

動的に条件を作ってpandas.DataFrameから値を取得する

動的に条件を作ってpandas.DataFrameから値を取得したいときがある。次の例を考えてみる。 import pandas as pd df = pd.DataFrame({ "A" : [1, 0, 1, 0], "B" : ["a", "a", "b", "b"], "C" : [1, 2, 3, 4] }) このとき、ある時は 「A == 0」、また別の時は …

numpy.ndarrayの一部の値を取得する

numpy.ndarrayの一部の値を取得したいときがある。 例えば、図1の赤枠で囲まれた範囲の値を取得することを考える。 図1:問題の例 このとき、pythonには便利な関数numpy.ix_が用意されている。 numpy.org これを使うと簡単に所望の値が取得できる。実際にや…