技術メモ#Python
概要 seleniumで、指定した要素をスクロールしてスクリーンショットを撮るためのメモ。 概要 背景と目的 詳細 0. 環境 1. スクリーンショットの対象サンプル 2. seleniumコード 2.0 キャプチャ対象要素を選択 2.1 対象要素をスクロール 2.2 指定した子要素が…
概要 Pythonで、時刻周りの処理を行っている最中に、システム時刻の変更があるとどんな挙動になるのか気になったので調べてメモしておく。 0. 環境 Linux搭載組み込み機器 Python3.5(事情により古いがまあ、どれも変わらないだろう) 時刻同期 time.sleep 影…
概要 ローカルPC上のOpenSearchにREST APIでアクセスしてCSVファイルのデータを書き込んだ。 背景と目的 以前、ローカルPC上nにOpenSearchを立ち上げた。ちょっとした動作確認のため、使っていこうとしたがちょうどいいデータがないので、手元にあるCSVファ…
背景 SageMaker Python SDKを使用 ローカルのJupyter Notebookを使用 SageMaker組み込みアルゴリズム randomcutforestを使用 学習済みモデルアーティファクトはS3に格納済み モデルイメージのリージョンとモデルアーティファクトの格納先リージョンは同じ 上…
ユーザー環境変数Pathのインストール済みのPythonのフォルダをがWindowsAppsフォルダより上に来るように、上へボタンで移動する。
概要 Windows PCのWSL2上のJupyterNotebook環境で、SageMaker ローカルモードのトレーニングを実行しすることができた。 背景と目的 最近、SageMakerの勉強をしている。ちょっとコーディングを試したいが、AWS上のインスタンスを立ち上げずに軽く勉強したい…
requests requestsでは、以下の環境変数を設定することで、プロキシ設定を与えられる。 export HTTP_PROXY=... export HTTPS_PROXY=... また、各リクエスト個別で適用する方法もある。 proxies = { 'http' : 'http://user:pass@host:port', 'https' : 'http:…
概要 layerのコードをアップデートするPythonスクリプトを作成した。 背景と目的 Lambda レイヤーのコードをデバッグしていて、手動でアップロードするのが面倒になってきたので、スクリプト化した。 詳細 zipの構造の確認 手動でアップロードする場合、.zip…
概要 boto3を使ってDynamoDBへのクエリを投げるときに、DynamoDBの予約語や特別な文字を含むせいでうまくいかず色々調べて解決したのでメモする。 背景と目的 boto3でDynamoDBにクエリを投げるとき、 table = boto3.resource("dynamodb").Table(テーブル名) …
概要 Elasticsearchを、Lambdaから読み書きする方法をメモした。 背景と目的 都合により、Elasticsearchを使用する必要が出た。Lambdaから読み書きしたいので、作業内容をメモしておく。 詳細 1. Elasticsearch 1.1 Elasticsearch ドメインの作成 まず、Elas…
自分用numpyメモ。 スライス keepdims reshapeの引数に-1を指定 アダマール積 dot inner outer matmul pad repeat random np.random.permutation np.random.choice np.random.randn np.random.random_sample empty zeros_like ワンホットベクトル - カテゴリ…
Pythonのjsonschemaパッケージを使ってみた。 環境 Python 3.7.7 インストール pip install jsonschema 試用 汎用的に使える基底クラスを作ってみた。 import json import jsonschema import typing class DefinedJson: _SCHEMA = {} def __init__(self): se…
概要 AWS IoT Device SDK v2でのpublishで、ackCallbackとpacket idについて旧版との違いがわかったのでメモした。 概要 背景と目的 詳細 0. 参考URL 1. インストール 2. 動かして気づいたことをメモ 2.1 旧版のMQTTのClientオブジェクトに相当するもの 2.2 …
概要 Pythonアプリのデーモンをシャットダウン時に安全に終了するためのメモ。 背景と目的 Pythonアプリのデーモンを、システムシャットダウン時に安全に終了するための基本的な実装方法を確認する。 詳細 0. 環境 Python3.7 Linux(Debian) 1. 実装 Python標…
概要 Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsを試してみた。 背景と目的 半年前ぐらいに、Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsというものがあるのを知った。 dev.classmethod.jp しかし、なかなか…
概要 boto3でLambda.client.invokeの引数ClientContextを使い方を確認してメモした。 ランキング参加中DIY 概要 背景と目的 詳細 呼び出し側 呼び出される側 まとめと今後の課題 背景と目的 boto3でLambdaを呼び出す際、呼び出し先関数へ渡すペイロードの仕…
ApacheでFlask Appをデーモンで動かすときにつまずいたのでメモしておく。 そもそも、なぜデーモンで動かしたいかというと、 デーモンにしない場合、セッション毎(というかアクセス元IPアドレス?何で判断しているのかよくわからないが)に、アプリが別プロ…
概要 Pythonでログを画面出力したり、ファイル出力したりするときのコードスニペットをメモ。とりあえず、自分がすぐに使いそうなもの。 詳細 import logging import logging.handlers as handlers # TimedRotatingFileHandler # ログのフォーマット logForm…
概要 evdevとthreadingでスイッチ操作イベントをメインスレッドとは非同期で読み取って処理する簡単な方法を調べたときのメモ。 背景と目的 evdevを使って、スイッチ操作イベントをメインスレッドとは非同期で読み取る必要が出たため方法を調べたところ、asy…
参考 pythondatascience.plavox.info qiita.com 必要パッケージインストール pip install scikit-learn pip install dtreeviz dtreevizにはGraphvizが必要なので https://graphviz.gitlab.io/_pages/Download/Download_windows.html ユーザー環境変数PATHに…
公式ドキュメントに書いてないけど、ソースコードを読む限り、 scanner = Scanner() scanner.scan(passive=False) passive=Falseを引数に与えればよいらしい。公式ドキュメントは、全然メンテナンスされていないらしい。。。
bluepyのサンプルコードを参考に、 scanner = Scanner() devices = scanner.scan(10.0) for dev in devices: for (adtype, desc, value) in dev.getScanData(): print " %s = %s" % (desc, value) とすると、 desc = "Manufacturer" value[0:8] = "4c000215"…
概要 ESP32用のMicroPythonで、FFTをする自作モジュールを作る。 背景と目的 前回、ESP32用のMicroPythonで、C実装の自作モジュールを作る環境が整った。今回は、この環境を使ってFFTをする自作モジュールを作る。なお、PythonでそのままFFTの計算をコーディ…
概要 ESP32向けのmicropythonで、Cで実装した自作モジュールを作成した。 背景と目的 かつて、micropythonをESP32で動かして遊んでみたのだが、それ以来ほとんど触っていなかった。しかし、最近とある事情でESP32向けのmicropythonで、Cで実装した自作モジュ…
概要 FlaskアプリをApache2で動かしたとき、Flaskアプリスクリプト内モジュールレベル変数は、ずっと保持されることを確認できた。 背景と目的 FlaskアプリをFlaskの開発用サーバ(localhost:5000)で動かしたときは、Flaskアプリを構成しているPythonスクリプ…
概要 bluepyのインストールで、glib.h、glibconfig.hがないといわれたが、対処し無事インストールできた。 ランキング参加中DIY 背景と目的 あるLinuxのシステムで、pipでbluepyをインストールしようとしたところ、glib.h、glibconfig.hがないと言われてうま…
ランキング参加中DIY Chromeをメジャーアップデートしたので、Chromeの自動操作系で使用しているchromedriverもアップデートせねばと思い、方法をweb上を調べると、 pip install chromedriver-binary==バージョン名 と書いてあるので、この通りやったところ…
概要 PythonアプリからブラウザアプリへMQTTでメッセージ送信するための簡単なテストプログラムを作成し、動作確認した。 背景と目的 Raspberry Pi上のPythonアプリ側から、そのUI系として用いているクライアントサイドWebアプリ(以下、ブラウザアプリ)に対…
概要 Raspberry Piに、scikit-learnをインストールしようとして、 pip3 install scikit-learn とやったが、うまくいかなかったのでやり方を変えてうまくいったときのメモ。 実施条件 Raspberry Pi 4 Model B 2020-02-05-raspbian-buster-full.img Python3.5…
ファイル読み取り Excel CSV 書き出し CSVファイル バッファへの書き出し 基本的な情報表示 基本的な編集 DataFrame 欠損値 重複 可視化 DataFrameへの追加 既存のDataFrameに行を追加 DataFrame, Seriesの連結 DataFrameからの抽出方法いろいろ DataFrameの…