金融などのデータソースを接続し、Python、Excel、AIエージェント、REST APIに提供するオープンソースのPythonデータプラットフォーム。
pydata/numexpr
NumPy配列の式をチャンク単位で評価し、メモリ使用量を抑えながらマルチコアで高速に計算します。
- スター
- 2,544
- フォーク
- 233
- 未解決の Issue
- 18
- 最終コミット
- 7 日前
これは何?
NumExprは、'3*a+4*b'のようなNumPy配列の数値式を評価します。同じ計算を通常のPythonで行うより高速で、メモリ使用量も抑えられます。中間結果用の一時配列を作らず、CPUキャッシュに収まるサイズの小さなチャンクに分けてデータを処理します。
チャンクは利用可能なCPUコアに分散されるため、複数スレッドで計算を並列化できます。一般的な数学関数や、文字列配列の比較にも対応しています。MKLを使ってビルドすると、Intel MKL/VMLのサポートにより超越関数をさらに高速化できます。
NumPyに対する高速化の度合いは式や配列のサイズによって異なります。プロジェクトによると、一般に配列が大きく、式が複雑なほど効果が大きくなります。
主な機能
- 01中間結果用の一時配列を作らずに、配列の式を評価します。
- 02処理をキャッシュに収まるサイズのチャンクに分割し、CPUコアに分散します。
- 03一般的な数学関数と文字列配列の比較に対応しています。
- 04超越関数を高速化するIntel MKL/VMLのオプションサポート。
- 05pipまたはcondaでインストールできます。
ユースケース
- NumPy配列に対する大規模な要素単位の計算を高速化する。
- PandasやPyTablesのクエリのように、大きな配列を対象に条件で絞り込んだり計算したりする。
- 配列を多用する数値計算コードのメモリ使用量を削減する。
クイックスタート
- 1
pipでPyPIからインストールする
pip install numexpr - 2
AnacondaまたはMinicondaを使っている場合は、condaでインストールすることもできます
conda install numexpr - 3
NumPy配列上で式を評価する
python -c "import numpy as np, numexpr as ne; a = np.arange(1e6); print(ne.evaluate('a + 1'))"
使う前に知っておきたいこと
- 非常に単純な式では高速化の効果は小さく、大きな配列で最も効果を発揮します。
- pipのwheelにはIntel MKLのサポートが含まれていません。MKLが利用できるのは、NumPyがMKLを使用する場合のcondaビルドのみです。
- プロジェクトは今後の運営資金を募っているため、長期的なメンテナンスは不確実です。
トピック
よくある質問
- numexpr とは?
- NumPy配列の式をチャンク単位で評価し、メモリ使用量を抑えながらマルチコアで高速に計算します。 NumExprは、'3*a+4*b'のようなNumPy配列の数値式を評価します。同じ計算を通常のPythonで行うより高速で、メモリ使用量も抑えられます。中間結果用の一時配列を作らず、CPUキャッシュに収まるサイズの小さなチャンクに分けてデータを処理します。
- numexpr は無料で使えますか?ライセンスは?
- numexpr は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- numexpr は今もメンテナンスされていますか?
- 活発にメンテナンス中。numexpr の最終コミットは 2026年10月13日 です。
- numexpr は何に使えますか?
- NumPy配列に対する大規模な要素単位の計算を高速化する。 PandasやPyTablesのクエリのように、大きな配列を対象に条件で絞り込んだり計算したりする。 配列を多用する数値計算コードのメモリ使用量を削減する。
- numexpr のインストール方法は?
- pipでPyPIからインストールする: pip install numexpr AnacondaまたはMinicondaを使っている場合は、condaでインストールすることもできます: conda install numexpr NumPy配列上で式を評価する: python -c "import numpy as np, numexpr as ne; a = np.arange(1e6); print(ne.evaluate('a + 1'))"
- numexpr はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pydata/numexpr
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
実ブラウザーを操作するAIエージェントを構築できるオープンソースのPythonライブラリ
標準の型ヒントを使ってAPIを構築できるPython製Webフレームワーク。自動バリデーション、OpenAPIドキュメント、高いパフォーマンスを備えています。
CPU、メモリ、ディスク、ネットワーク、プロセス、コンテナを監視するクロスプラットフォーム対応の端末・Webシステムモニター。REST APIとエクスポート機能も搭載。
LLMとグラフベースのパイプラインを使い、プロンプトに基づいてWebサイトやローカル文書から構造化データを抽出するPythonライブラリ。
CLI、Pythonライブラリ、HTTPサーバー、Dockerで使える画像背景除去ツール。