Python

ラスパイOSをbookwormにするとpipの使い方で気をつける必要があった件

遅まきながらラズパイのOSをbookwormに更新しようと調べていたところ、pipの使い方をこれまでと変えねばいけないようだ。 www.denshi.club blog.jp.square-enix.com 私は言語系の仮装環境を使うのは好みではなかったのだが、ここはPEP668に従おう。そのため…

SwitchBotの防水温湿度計のデータをS3に保存(その3)

前回の続き。 センサーの値をWebhookで通知してもらえるようになったので、Webhookの受け口を作ります。SwitchBotのAPIは下を参照。 GitHub - OpenWonderLabs/SwitchBotAPI: SwitchBot Open API Documents 上のSwitchBotのWebhookによってセンサーの情報がjs…

SwitchBotの防水温湿度計のデータをS3に保存(その2)

前回の続き。 SwitchBotのAPIを調べていたら、なんとWebhookでセンサーの値を任意のWebに通知できるようになっているではないですか。 GitHub - OpenWonderLabs/SwitchBotAPI: SwitchBot Open API Documents Webhookで通知してもらうにはセンサー単独でなくS…

Polars 0.19.2 で便利そうな変更があった「Add syntactic sugar for col("foo") -> col.foo」

Polarsのバージョン polars-0.19.2 で、こんなのが来た! github.com この書き方は便利そうだぞ、早速使おう。列名が日本語も大丈夫だった。(列名にPythonで変数名に使えない記号があるとダメだ、それはそうだよね。)

Polars 200本ノック

Polarsを使い始めたので、 Pandas2.0に移行しようと思ったけど、結局Polarsに移行した。 - osamuk's blog 使い方など調べていたら"100本ノック"系が2つありました。 qiita.com qiita.com それらあわせて200本ノックやってみました。わからない所はすぐにカン…

Polarsで全てnullの列を削除する

[edit 2023/12/06] MSのBing Chat改めCopilotに聞いたら、最初エラーになるコードだったのですが、エラーメッセージを教えたらちゃんと直してくれて、こんなコード書いてくれました。 import polars as pl # データフレームを作成 df = pl.DataFrame({ "col1…

Pandas2.0に移行しようと思ったけど、結局Polarsに移行した。

Pandas 2.0来た! 自作コードでPandas使っているところを2.0を使うようにしよう! What’s new in 2.0.0 (April 3, 2023) — pandas 2.1.0.dev0+1270.gaf76d785cc documentation と思って調べていたところ、Pandasと同じようにDataFrameを扱う「Polars」が良さ…

他力本願でラズパイをbullseyeにした

ラズパイのOSを今時のbullseyeにしたい。64bit化もしたい。参考になるサイトを探しまくって、いざ実行だ。 今回は別のSDメディアを用意してクリーンインストールする。 こちらなどを参考にやった。 Raspberry Pi OS Lite(64-bit) ヘッドレスインストール(bu…

pandasのDataFrameに独自メソッドを追加してmethod chainingを貫く (Pandas Flavor)

pandasでmethod chainigで書いていくとき、chainできなくて困る時がある。例えばDataFrameのindexをDateTimeにしたいとき、 df = ...#indexが'2021-09-06'などの文字列のDataFrame df.index = pd.to_datetime(df.index) こうすることになるが、これだとmetho…

Pyhon 3.9 で pandasでread_excel()すると、AttributeError: 'ElementTree' object has no attribute 'getiterator'

Python 3.9を使い始めました。と言うか、Windowsでscoop使っていて、アップデートでうっかりPython3.9になってしまったのですが。 で、Python3.9とpandasでread_excel()すると、 AttributeError: 'ElementTree' object has no attribute 'getiterator' にな…

そうだったのか。pandasの`read_table()`が「非推奨ではない」になっていた。

うーん、pandasのread_table()は非推奨だよと書いてあるのを見かけるので使わないようにしていた。確かに一時期非推奨になるはずだったようだが、実は今では非推奨が取り消されていた。これだ。 Keep (un-deprecate) `read_table()` for API stability · Iss…

pandasのread_fwf()が日本語の固定長データだと残念な件

とある固定長データファイルをpandasのread_fwf()で読み込もうと思ったのですが。そのデータファイルは日本語の固定長データとしては一般的な、文字列は半角1バイト全角2バイトで数えてxxxバイト固定ってやつだったわけです。んでpandasで固定長データ読むな…

PythonでIMAPメール操作なら、IMAPClientが便利だった件

PythonでIMAPでメール受信したくなった。標準のimaplibで基本的に可能なわけですが、実は結構めんどくさい。まずフォルダ名の取得からして、結果文字列がエンコードされたままで日本語だとそのままでは読めない...。読める文字列にするには何かと面倒...。メ…

Web NTLM認証、Pythonとrequests 対 PowerShell

とあるIISのWebアプリでログインにNTLM認証を使っているサイトをスクレイピングしたかった。 まずは所望のページをgetしたいぞと。 Pythonとrequestsでやってみた。最終的にこんな感じ。 import requests from requests_negotiate_sspi import HttpNegotiate…

Ansibleで Raspberry Pi に Python 3.7 をインストールしてみる

急に思い立って、Ansibleを使ってみることにした。 こんなかんじになった。 ### raspberry pi に Python3.7.2をインストール --- - hosts: all vars: apt_for_python_build_names: [build-essential,zlib1g-dev,zlib1g-dev,libncurses5-dev,libgdbm-dev,libn…

今日知ったこと Pandas で DataFrameのixは非推奨になっていたよ

IX Indexer is Deprecated これまでもややこしいので、こちら参照させていただいていたのですが、もはやixは非推奨になってました。

Jupyter Notebookで autopep8 ソースコード フォーマット

GitHub - kenkoooo/jupyter-autopep8: PEP8 formatter for Jupyter Notebook pep8自動フォーマットこれ使い中

Pythonでrequetsでダイジェスト認証でgetしたいだけだったのに

Python + requests でベーシック認証はググれば日本語でよい紹介がたくさんあるのですが、ダイジェスト認証は、結局公式サイトにたどり着いて、最初から公式サイト見ろよオレ。 Authentication — Requests 2.26.0 documentation import requests from reques…

ごく簡単なTensorFlowのインストール (MacとAnacondaで)

GPU使わないのがインストールは楽。 Anacondaをインストールしとく。 Python3.5の環境を作る。TensorFlowはPython3.5をサポートなので。 conda create -n tensorflow python=3.5 anaconda TensorFlowをインストール(使うwhlはそのとき最新のを確認してね)。 …