2022-09-01から1ヶ月間の記事一覧
標準ライブラリのみ使用してPEファイルの情報を取得するクラスのコードです。現状ではインポート、エクスポート情報のみ対応しています。おそらくインポート情報を持たないファイルだとエラーが発生します。 #test.py from pefileinfo import * with PEFileI…
Python 3にはmore-itertoolsという外部ライブラリがあり、itertools標準ライブラリでコードのみ紹介された関数やその他の便利な関数が提供されています。この記事はfirstとfirst_trueの紹介です。 more-itertoolsのfirstにジェネレーター式を指定すればC++の…
型指定してコードを書く場合、for構文でひとつひとつ要素を追加するよりも[...]*nや内包表記、ジェネレーター式+tuple()を使った方が要素の型指定も省略できます。 VSCodeでは次のコードでlist[int]やtuple[int, ...]などが推論されます。 #list1は型指定し…
GitHubを個人的な保管庫としてだけ使う方は頻繁にログアウトすることを推奨します。 ログイン状態であることに気付かず変な操作をして、他の方のリポジトリに迷惑をかけました。 具体的には間違えてRevert Changesしました。 キャンセル方法が分からなくてミ…
AngleSharp、Json.NET、ML.NET、Infer.NET、気づいたらMicrosoft主導の.NET財団のプロジェクトになっていました。AngleSharpは企業ベースだと思いこんでいたので、これまでより使いやすくなりました。 .NET Bioなどの知らなかったプロジェクトもあるので、時…
平均値・標準偏差・標本サイズを持つデータフレームに母分散既知・未知(標準分布とt分布)の母平均の95%信頼区間を追加するコードです。 from scipy import stats import pandas as pd df = pd.DataFrame({ "mean": (0, 1, 2, 3), "sd": (1, 10, 1, 10), "n…
Pandas 1.4.4ではデータフレームの列名による列指定に[]とloc[]が使えますが、これらはタプルで列名を指定したときの動作が異なります。[]はタプルをひとつのキーとして扱い、loc[]はデータフレームの持つ列名により動作を変えます。前者はデータフレームが…
2022/12/5更新:タグファイルの作成対応、WBDirInfoクラスの作成、設定ファイル及び一部変数名のアンダーライン削減。 動画管理ソフトWhiteBrowserの簡単な操作を提供するGUIアプリケーションです。Python標準ライブラリーtkinterモジュールの練習で作成して…
tkinterのbind("<1>", ...)あるいはbind("<Button-1>", ...)は左クリックではなく左ボタン降下です。この方法でコールバック関数からポップアップメニューを呼び出すとボタンの表示が降下状態のままになります。 左クリックを検出したい場合はButton(..., command=...)</button-1>…
ggplot2のstat_smooth関数でmethod引数の既定値として使われるLOESSは惰性学習(lazy learning)だそうです。k近傍法と同じで、与えられたデータ自体をモデルとします。回帰分析のように係数を求めたりはしません。 PCAと併用してとりあえず分類するような場…
シェル項目の表示名を取得するにはSHGetNameFromIDList関数を使えます。C++環境ではIShellItemインターフェイスを使いますが、Pythonなどでインターフェイスを介したくない場合に便利です。 #include <format> #include <iostream> #define STRICT #define NOMINMAX #include <Windows.h> </windows.h></iostream></format>…
ctypesモジュールは関数のrestypeにctypes.HRESULTを指定すると戻り値がエラーの場合に自動でraiseするようです。エラーの発生時は手動で握りつぶそうとしていたのですが、可読性のためにctypes.c_intをctypes.HRESULTに変えたらOSErrorが発生するようになり…