python

Emacsからjupyter notebookを使う方法

Emacs からjupyter notebookを使う方法をまとめますjupyter notebookは python やRを使った開発 グラフをプロットしながらデータをこねくり回すデータサイエンス・機械学習的な作業 流行りのデープラーニング などで非常に便利ですが、これらがすべて Emacs …

python / numpy で特異値分解(SVD)を使って一般化逆行列を計算する

一般化逆行列(擬似逆行列,最小二乗法に対応するやつ)を python で計算するサンプル特異値分解(SVD)が必要なので,実装は numpy を使いますc++/eigen で実装したコード https://pyopyopyo.hatenablog.com/entry/2021/09/07/090000 のpython版になります im…

pythonで自分のIPアドレスを調べる方法

pythonでローカルのネットワークインタフェースのIPアドレスを調べる方法 def get_local_ip_address(): from socket import socket, AF_INET, SOCK_DGRAM s = socket(AF_INET, SOCK_DGRAM) try: s.connect(('10.255.255.255', 1)) ipaddr = s.getsockname()[…

jupyter notebook からソースコードだけを抽出する方法

jupyter notebook からソースコードだけを抽出する方法です2行でまとめると nbconvertを使う方法が定番.でも動作が遅い 20倍以上高速な jq を使う方法がおすすめ となります.以下,詳細です. nbconvert を使う方法 input.ipynb からpythonコードを取り出…

Jupyter Notebook をPDFで保存する方法(日本語対応)

jupyter notebook の出力は pdf 形式で保存できますその方法は,画面左上の「メニュー」の「名前を付けてダウンロード」から「PDF via LaTeX (.pdf)」を選ぶだけ.ただし,この機能が正常に動作するためには LaTeX がインストールされていること 日本語用に…

pythonでヒストグラムを正規化する

python でヒストグラムを正規化(面積を1.0にする)する方法です サンプルコード import numpy as np import matlplotlib.plt as plt data=[1,2,2,3,3,3,4,4,4,4] # 正規化されたヒストグラムを計算する hist, edges = np.histogram(data, density=True) w = e…

pythonのヒアドキュメントと変数展開

python のヒアドキュメントの使い方をメモしますついでにpython-3.6で導入された f-strings を使って変数置換も行います x=123 y="ABC" tmp = f''' x is {x}. y is {y}. x is {x}. '''[1:-1] print(tmp) ポイント f"..." と文字列の先頭に "f"を付けると変数…

Pythonで文字列をDatetime型に変換する方法

Pythonで文字列を時刻に変換する方法です 時刻を表す文字列 時刻を表す文字列にはいくつかのフォーマット(書式)がありますISO8601の例 2020-06-14T13:04:46+09:00 RFC 3339の例 2020-06-14T04:04:46.000Z 2020-06-14T04:04:46.000000Z これらは全部同じ時…

Pythonでコマンドラインツール(CUIとかCLI)を作るときのTips

PythonでCUIとかCLIを作る際のTips です.下記の内容を順に書いていきます エラー表示を見やすくする 使い方の説明 実際のコード例 コマンドライン引数の処理 使い方の説明 実際のコード例 Tips は今後も追記していく予定です(最終更新: 2020-06-13) エラー…

Python で正規表現を使うときのエラー対策

正規表現を使うときは,正規表現のエラーチェックをきちんと実装しておいたほうが安全です例外を使って実装すると次のようになります import re pattern = "^c++" prog = None try: prog = re.compile(pattern) except re.error as msg: print("error in reg…

Python でインストール済みのdebianパッケージを調べる方法

debian や ubuntu でインストール済みのdebパッケージの一覧を調べる方法です(pythonのモジュールの一覧ではなくて,linuxのdebパッケージの一覧です)コマンドラインなら $ dpkg -l 等になりますが、似たことをpythonで実装する場合は apt モジュールを使い…

jupyter notebook が起動しない時の対処方法

jupyter notebook が以下のエラーを出して起動しない場合の対処法 File "*********/.local/lib/python3.7/site-packages/tornado/netutil.py", line 174, in bind_sockets sock.bind(sockaddr) OSError: [Errno 99] Cannot assign requested address とりあ…

pipで入れたパッケージを一括更新する

python のパッケージをコマンド一行で最新版にアップデートする方法です コマンド 普段 sudo を使わずに,--user つけてpipを実行している場合 $ pip3 list --format freeze --outdated | while IFS='==' read pkg dummy; do pip3 install --user --upgrade …

PyGObjectのインストールエラーを回避する方法

pipコマンドで PyGObjectをインストールしようとすると $ pip3 install PyGObject以下のエラーが出る場合がある Package gobject-introspection-1.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gobjec…

QRコード(2次元バーコード)を生成するスクリプト・プログラムの作り方

その名も qrcode という python モジュールがあります qrcode というpythonのモジュール "qr" というコマンドラインのツール が用意されているので,簡単にQRコード(2次元バーコード)を生成するプログラムやスクリプトが実装できます インストール pip経…