Python

numpy - 平面上のpeakの平面座標の求め方

numpy - 平面上のpeakの平面座標の求め方 numpy.unravel_indexを使う numpy.argmax()は最大要素のindexが返されるので、 これを平面座標(原点は左上)に変換したいときに使う In [2]: import numpy as np In [3]: test_img = np.zeros((4,6)) In [4]: test_…

scikit-image - 画像間のずれを検出、計測する

概要 よく似た2枚の画像が平行でずれている時、そのずれを計測できる 方法 registration moduleのphase_cross_correlationを使う。 使用例でピクセル単位のずれを計測する例は以下の通り。 import numpy as np import matplotlib.pyplot as plt from skimage…

scikit-image - Watershed segmentationのコード例

Watershed segmentation Watershed segmentation — skimage v0.19.2 docs markerで指定された位置から、輪郭の輝度が高い周囲に向けて、あたかも水が貯まる場所を選択するような方法。以下はscikit-imageの二つの重なった円を分類してセグメンテーションする…

Matplotlib - 軸目盛りの編集

www.yutaka-note.com

Matplotlib - GridSpecを使ってグラフを並べる

GridSpecの使い方 GridSpec demo 複数のグラフを並べる。グラフの大きさを変更できるので、大小のグラフを並べるのに便利。 import matplotlib.pyplot as plt from matplotlib.gridspec import GridSpec def annotate_axes(fig): for i, ax in enumerate(fig…

IPython マジックコマンド

マジックコマンド(備忘録) コマンド 説明 %reset ipython環境のリセット(変数等消去される) %xdel variables variablesを消去。参照も消去する。 %matplotlib IPythonシェルからmatplotlibを連携させる。(これがないとグラフ表示を消去できないなど面倒…

Python - 差分公式

差分公式 2.1. 差分 — pythonで学ぶ計算物理 ドキュメント より 関数 f(x) の解析的な表式が与えられていれば微分 f'(x) は必ず計算できますが、 f(x) が数値的にしか得られない場合(複雑な積分を含むなど)には、微分を数値的に評価する必要がでてきます。…

numpy - 要素をランダムに抽出する

np.random.choices(seq, k) seqからランダムに重複ありでk個のサンプルを抜き出す。 random.choice(a, size=None, replace=True, p=None) numpy.random.choice — NumPy v1.23 Manual

flake8 - 特定行のコードチェック抑制

# noqaを行の末尾に記載すると、その行に対する警告だけが抑制されるようになる。 ## References https://kuune.org/text/2013/05/09/pyflakes-to-flake8/

python - 現在時刻を表示

現在時刻の表示 例:1 from datetime import datetime str_time = datetime.strftime(datetime.now(), "%Y-%m-%d %H%M%S.%f") print(str_time) この書き方で現在時刻をμs単位まで表示。 例:2 以下の例では日付をYYMMDDの形式で表示 from datetime import da…

python - リファレンス

言語リファレンス Python 言語リファレンス — Python 3.10.6 ドキュメント 標準ライブラリ https://docs.python.org/ja/3/library/index.html#library-index

vscode - コードチェッカー、フォーマッター

インストール コードチェッカー、フォーマッターのインストール conda install -c conda-forge flake8 black isort mypy pip install flake8 black isort mypy vs codeでの設定 Work spaceを作る場合はworkspaceのsetting.jsonを以下の通り { "python.lintin…

Python - 辞書型データのdot notation

SimpleNamespace >>> from types import SimpleNamespace >>> d = {'key1': 'value1', 'key2': 'value2'} >>> n = SimpleNamespace(**d) >>> print(n) namespace(key1='value1', key2='value2') >>> n.key2 'value2' References dictionary - How to use dot…

Python - ファイル名の変更

ファイル名の変更(os.rename) ファイルから作成日の情報を取り出して、'yymmdd'の形式でファイル名の最初につける。 ファイル名の変更: os.rename # ファイルから作成日の情報を取り出して、'yymmdd'の形式でファイル名の最初につける import os from dateti…

python - 自作のスクリプトをimportして使う

自分で書いたPythonスクリプトをimportして使う スクリプトファイル自身のpathからの相対pathをsys.pathに登録 __file__でスクリプトファイル自身のpathを参照できるので、これを利用する。 import os import sys # スクリプト自身のpathから一階層上のディ…

python - xmlファイルを辞書型、json形式に変換

conda install -c conda-forge xmltodict 上記でインストール import xmltodict import json with open('data.xml', 'r') as f: xml_data = f.read() dictionary = xmltodict.parse(xml_data) json_object = json.dumps(dictionary) print(json_object) Refe…

cython - 入門記事

hack.nikkei.com qiita.com qiita.com

Python - PythonからMatlabを動かす

References Python からの MATLAB の呼び出し - MATLAB & Simulink - MathWorks 日本

ファイル作成日をつけたファイル名に変更.

サンプルコード import os from datetime import datetime from glob import glob def get_dateStr(path: str, system_type='unix'): # pathからファイル作成日をyymmddの形式で返す。 if system_type=='unix': c_timestamp = os.stat(path).st_birthtime el…

ファイル作成日を取得する。

注意点 WindowsとUnix (Mac, Linux)でやり方が違う。 Windows os.path.getctime(path)でtimestampを取得。 Unix os.stat(path).st_birthtimeでtimestampを取得。 サンプルコード import os from datetime import datetime def get_dateStr(path: str, system…

チートシート

Matplotlib PDF link matplotlib.org

Python - re.sub()でタグの変換

マッチするグループを\1, \2 ...のように指定する。と、たとえば、$y = ax + b$の$タグのみ変更できる。 gist.github.com

Python テキストファイル読み込み

pythonでtext ファイルを行ごとに読み込んで内容をリストにする。 textファイルを読み込んで、行ごとのリストにする。

プログラミング・数学 入門集

数学×Pythonプログラミング入門 ― 中学・高校数学で学ぶatmarkit.itmedia.co.jp

Matplotlib - グラフのレイヤー順の調整

グラフの引数にzorder=<int>で指定する。 <int>の番号が小さい方が背景側。数字が大きい方が前面に出てくる。 References Zorder Demo — Matplotlib 3.5.2 documentation</int></int>

Numpy - 直線回帰

xとyの直線回帰 Numpyを使った線形回帰 メモ a: 傾き b: 切片 上記のfunctionでは返されないが、残差の合計もlinalg.lstsqの返り値で取り出すことも可能 References numpy.linalg.lstsq — NumPy v1.22 Manual

Numpy - 最初に閾値を超える位置を探す

arrのうち最初にthresholdを超えるindexを得たいときは、 np.argmax(arr > threshold)を使う。 最初に閾値を超える値のindexを求める

Matplotlib - グラフの指定領域を塗りつぶす

gist.github.com python.atelierkobato.com

Numpy - 移動平均の計算

numpy.convolveを使う。 num_mean = 5 test_arr = np.arange(20) result = np.convolve(test_arr, np.ones(num_mean)*num_mean, mode='valid') References numpy.convolve — NumPy v1.22 Manual

Python パッケージ管理技術まとめ

www.yunabe.jp