potisanのプログラミングメモ

趣味のプログラマーがプログラミング関係で気になったことや調べたことをいつでも忘れられるようにメモするブログです。はてなブログ無料版なので記事の上の方はたぶん広告です。記事中にも広告挿入されるみたいです。

2022-09-01から1ヶ月間の記事一覧

Python3 PEファイルの情報を取得するクラス

標準ライブラリのみ使用してPEファイルの情報を取得するクラスのコードです。現状ではインポート、エクスポート情報のみ対応しています。おそらくインポート情報を持たないファイルだとエラーが発生します。 #test.py from pefileinfo import * with PEFileI…

Python3 more-itertoolsのfirst/first_trueで条件に一致する最初の要素を取得する

Python 3にはmore-itertoolsという外部ライブラリがあり、itertools標準ライブラリでコードのみ紹介された関数やその他の便利な関数が提供されています。この記事はfirstとfirst_trueの紹介です。 more-itertoolsのfirstにジェネレーター式を指定すればC++の…

Python3 リストやタプルの作成はfor構文を[...]*n or 内包表記に変えると要素の型指定が省略できる

型指定してコードを書く場合、for構文でひとつひとつ要素を追加するよりも[...]*nや内包表記、ジェネレーター式+tuple()を使った方が要素の型指定も省略できます。 VSCodeでは次のコードでlist[int]やtuple[int, ...]などが推論されます。 #list1は型指定し…

GitHubでしでかしました

GitHubを個人的な保管庫としてだけ使う方は頻繁にログアウトすることを推奨します。 ログイン状態であることに気付かず変な操作をして、他の方のリポジトリに迷惑をかけました。 具体的には間違えてRevert Changesしました。 キャンセル方法が分からなくてミ…

AngleSharp、JSON.NET、ML.NET、Infer.NETは.NET財団のプロジェクト

C#

AngleSharp、Json.NET、ML.NET、Infer.NET、気づいたらMicrosoft主導の.NET財団のプロジェクトになっていました。AngleSharpは企業ベースだと思いこんでいたので、これまでより使いやすくなりました。 .NET Bioなどの知らなかったプロジェクトもあるので、時…

Python 3&Pandas 1.4.4&SciPy 1.9.1 平均値・標準偏差・標本サイズを持つデータフレームに母平均の95%信頼区間を追加する

平均値・標準偏差・標本サイズを持つデータフレームに母分散既知・未知(標準分布とt分布)の母平均の95%信頼区間を追加するコードです。 from scipy import stats import pandas as pd df = pd.DataFrame({ "mean": (0, 1, 2, 3), "sd": (1, 10, 1, 10), "n…

Python 3&Pandas 1.4.4 データフレームは[]とloc[]でタプルによる列指定結果が違う

Pandas 1.4.4ではデータフレームの列名による列指定に[]とloc[]が使えますが、これらはタプルで列名を指定したときの動作が異なります。[]はタプルをひとつのキーとして扱い、loc[]はデータフレームの持つ列名により動作を変えます。前者はデータフレームが…

Python 3 tkinterでWhiteBrowserの簡単な操作を提供するGUIアプリケーション

2022/12/5更新:タグファイルの作成対応、WBDirInfoクラスの作成、設定ファイル及び一部変数名のアンダーライン削減。 動画管理ソフトWhiteBrowserの簡単な操作を提供するGUIアプリケーションです。Python標準ライブラリーtkinterモジュールの練習で作成して…

Python 3 tkinterのbind("<1>", ...)は左クリックでなく左ボタン降下

tkinterのbind("<1>", ...)あるいはbind("<Button-1>", ...)は左クリックではなく左ボタン降下です。この方法でコールバック関数からポップアップメニューを呼び出すとボタンの表示が降下状態のままになります。 左クリックを検出したい場合はButton(..., command=...)</button-1>…

R&tidyverse ggplot2::stat_smooth既定のLOESSは惰性学習

ggplot2のstat_smooth関数でmethod引数の既定値として使われるLOESSは惰性学習(lazy learning)だそうです。k近傍法と同じで、与えられたデータ自体をモデルとします。回帰分析のように係数を求めたりはしません。 PCAと併用してとりあえず分類するような場…

C++20&Win API SHGetNameFromIDList関数で項目の表示名を取得する

シェル項目の表示名を取得するにはSHGetNameFromIDList関数を使えます。C++環境ではIShellItemインターフェイスを使いますが、Pythonなどでインターフェイスを介したくない場合に便利です。 #include <format> #include <iostream> #define STRICT #define NOMINMAX #include <Windows.h> </windows.h></iostream></format>…

Python 3 ctypesは関数のrestypeにctypes.HRESULTを指定すると自動でエラーを発生する

ctypesモジュールは関数のrestypeにctypes.HRESULTを指定すると戻り値がエラーの場合に自動でraiseするようです。エラーの発生時は手動で握りつぶそうとしていたのですが、可読性のためにctypes.c_intをctypes.HRESULTに変えたらOSErrorが発生するようになり…