Python プログラミング - NumPy SciPy ソフトウェアプログラマー コーダー パーカー
目次
はじめに
本日、
自分がコア開発者のメンバーとして参加している
SciPyの新しいバージョン1.11.0がリリースされました🎉
今回も、1.11.0の新機能や特徴を、
連続ツイートでまとめてみたので、
そちらを、あとから参照しやすいように
記事としてまとめておきます。
過去のバージョンの記事は下記の通りです。
Tweetまとめ
お、SciPy1.11.0がリリースされました🎉。https://t.co/QafTrjaqcN https://t.co/1FmBslwDui
— Atsushi Sakai (@Atsushi_twi) 2023年6月26日
今回もリリースのハイライトの少し紹介させてもらいますと、まずscipy.sparseの疎行列のAPIが大きく改善されました。廃止予定のnp.matrixをベースにしたspmatrixではなく、sparrayというベースクラスが導入され、こちらベースにしたAPIが拡張される予定です。https://t.co/vAIbOChQ8c
— Atsushi Sakai (@Atsushi_twi) 2023年6月26日
この変更により、1次元の疎ベクトルが扱えるようになり、またインデックスもこれまで自動的にint32にダウンキャストされる問題が解決され、正しくint64が使われるようになりました。今後、この新しいsparrayが推奨されます。(ただまだ非対応の関数が多いです。。。 ) https://t.co/vAIbOChQ8c
— Atsushi Sakai (@Atsushi_twi) 2023年6月26日
続いての特徴としては、今回のリリースでscipy.statsに多くのAPIが追加されました。特に生存分析や、多重仮説検定、感度分析、打ち切り状態でのデータに対する統計処理のAPIが追加されました。また多くの既存関数の高速化や、計算結果の精度向上も実施されています。https://t.co/e3cz4L1gPy
— Atsushi Sakai (@Atsushi_twi) 2023年6月26日
次のハイライトは、線形代数の重要APIである行列式 のscipy.linalg.detが2次元以上の多次元配列を、LU分解のhttps://t.co/zWLnbKDWyXが正方行列以外の入力も受け付けるようになりました。
— Atsushi Sakai (@Atsushi_twi) 2023年6月26日
detの方はcython 化とLAPACKの使い方の改善により、大幅に性能が向上しています。https://t.co/ftBcv9cxXo
最後のハイライトは、ndimageモジュール多くのfilter関連のAPIにaxes引数が追加されました。これは重ね合わされた画像の処理において非常に便利だそうです。:https://t.co/BGyCgpxqCE
— Atsushi Sakai (@Atsushi_twi) 2023年6月26日
最後に自分の貢献を少し宣伝させてもらうと、様々なフィティングでよく使われるscipy.optimize.curve_fitに、optimizeモジュールとしては初めてnan_policy引数が追加され、nanが含まれたデータをフィティングする際に、nan_policy = “omit”で自動的にnanを無視してくれます。https://t.co/TO93mUzoG4
— Atsushi Sakai (@Atsushi_twi) 2023年6月26日
これは結構要望が多く、また自分でもよくnanをフィルタするのめんどくさいなーと思うことが多かったので、入れられて嬉しいです😃。他にもnanを無視して欲しい関数がありましたら、issueをあげてもらえると実装しやすいです。
— Atsushi Sakai (@Atsushi_twi) 2023年6月26日
また、1年ほど取り組んできた、interpolateモジュールのfortrunインターフェイスのクリーンナップも、やっと終わりました。本当に少しだけscipyのバイナリサイズとコンパイル時間が短くなっているはずです。https://t.co/Eym6BqEIM8
— Atsushi Sakai (@Atsushi_twi) 2023年6月26日
参考資料
Python プログラミング - NumPy SciPy ソフトウェアプログラマー コーダー パーカー
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。