問題タブ [numpy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - SciPy での補間: Y を生成する X を見つける
SciPyで探しているYをどのXが与えるかを見つけるより良い方法はありますか? 私は SciPy を使い始めたばかりで、各機能にあまり詳しくありません。
python - Python と NumPy を使用した非常に大きな行列
NumPyは非常に便利なライブラリです。これを使用して、非常に大きな行列 (10000 x 10000) を簡単に処理できることがわかりましたが、それよりも大きな行列 (50000 x 50000 の行列を作成しようとすると、失敗します)。明らかに、これは大規模なメモリ要件によるものです。
NumPy でネイティブに巨大な行列 (たとえば 100 万 x 100 万) を何らかの方法で (数テラバイトの RAM を持たずに) 作成する方法はありますか?
python - 2 つのビューを使用して NumPy.recarray を変更する方法
私は Python と Numpy が初めてで、マスクされたビューに適用するときに numpy.recarray を変更できないという問題に直面しています。ファイルから recarray を読み取り、マスクされたビューを 2 つ作成してから、for ループで値を変更しようとしました。コード例を次に示します。
しかし、結果を印刷すると
ファイル内のすべての scale_means は、まだゼロです。
私は何か間違ったことをしているに違いない。ビューの値を変更する適切な方法はありますか? 2 つのビューを 1 つずつ適用しているからでしょうか。
ありがとうございました。
python - Python を使用して MATLAB を置き換える: データをインポートする方法
MATLAB を置き換えるためにいくつかの Python ライブラリを使用したいと考えています。Python で Excel データをインポートして (たとえばNumPyを使用して)、それらを使用するにはどうすればよいですか?
Python が MATLAB の信頼できる代替手段であるかどうかはわかりませんが、試してみたいと思います。チュートリアルはありますか?
python - Pythonのフラグ
私は大きなマトリックス(250x250x30 = 1,875,000セル)で作業しています。このマトリックスの各セルに任意の数のフラグを設定する方法が必要です。これは、使いやすく、スペース効率に優れた方法です。
私の当初の計画は250x250x30のリスト配列で、各要素は次のようなものでした["FLAG1","FLAG8","FLAG12"]
。次に、代わりに整数のみを格納するように変更しました[1,8,12]
。これらの整数は、getter/setter関数によって元のフラグ文字列に内部的にマッピングされます。これは、ポイントごとに8つのフラグで250mbのみを使用します。これは、メモリの観点からは問題ありません。
私の質問は、この種のデータを構造化する別の明白な方法が欠けているかどうかです。
ご提案ありがとうございます。私はいくつかの提案を1つにまとめることになりました。悲しいことに、私は1つの答えしか選べず、他の提案に賛成する必要があります。
編集:私がここに持っていた初期コード(3D numpy配列の基本要素としてセットを使用)は、大量のメモリを使用していました。この新しいバージョンは、で埋められたときに約500mbを使用しrandint(0,2**1000)
ます。
python - numpy 配列内の同一値のシーケンスの長さを見つける (ランレングス エンコーディング)
pylabプログラム(おそらくmatlabプログラムでもある可能性があります)では、距離を表す数値のnumpy配列があります:時間d[t]
の距離ですt
(データのタイムスパンはlen(d)
時間単位です)。
私が興味を持っているイベントは、距離が特定のしきい値を下回ったときであり、これらのイベントの期間を計算したいと考えています。を使用してブール値の配列を取得するのは簡単ですがb = d<threshold
、問題は の True のみの単語の長さのシーケンスを計算することになりますb
。しかし、私はそれを効率的に行う方法を知りません (つまり、numpy プリミティブを使用します)。配列をウォークし、手動で変更を検出することに頼りました (つまり、値が False から True になったときにカウンターを初期化し、値が True である限りカウンターを増やします)。値が False に戻ったときにシーケンスにカウンタを出力します)。しかし、これは非常に遅いです。
numpy 配列でそのようなシーケンスを効率的に検出するにはどうすればよいですか?
以下は私の問題を説明するいくつかの python コードです: 4 番目のドットが表示されるまでに非常に長い時間がかかります (そうでない場合は、配列のサイズを増やしてください)。
python - PythonでのFFTベースの2D畳み込みと相関
scipy(または別の人気のあるライブラリ)に組み込まれているFFTベースの2D相互相関または畳み込み関数はありますか?
次のような関数があります。
scipy.signal.correlate2d
-「によって実装される直接法はconvolveND
、大きなデータの場合は遅くなります」scipy.ndimage.correlate
-「アレイは、正確な計算を使用して(つまり、FFTではなく)指定されたカーネルと相関しています。」scipy.fftpack.convolve.convolve
、私は本当に理解していませんが、間違っているようです
numarrayにはスイッチcorrelate2d()
付きの関数がありましたfft=True
が、numarrayがnumpyに折りたたまれていて、この関数が含まれているかどうかわかりません。
python - Cython と numpy の速度
Python プログラムで相関計算に cython を使用しています。2 つのオーディオ データ セットがあり、それらの時間差を知る必要があります。2 番目のセットは、開始時間に基づいてカットされ、最初のセットを横切ってスライドされます。2 つの for ループがあります。1 つはセットをスライドさせ、内側のループはその時点で相関を計算します。この方法は非常にうまく機能し、十分に正確です。
問題は、純粋な python では、これに 1 分以上かかることです。私の cython コードでは、約 17 秒かかります。これはまだ多すぎる。このコードを高速化するためのヒントはありますか:
python - Python 補間
次のような一連のデータがあります。
Y2
表 1 の値に対して表 2の値を補間する必要があります。つまり、の次の値の のX1
値を見つける必要があります。Y2
X
注: 表 1 と 2 の間隔は等しくありません。(X, Y) エントリの数は異なります。たとえば、表 1 には 6 つの (X1, Y1) エントリがあり、表 2 には 4 つの (X2, Y2) エントリしかありません。
Numpy でどの補間アルゴリズムを使用すればよいですか? また、どのように進めればよいですか?
python - 構造化された numpy 配列にフィールドを追加する
構造化されたnumpy配列にフィールドを追加する最もクリーンな方法は何ですか? 破壊的に実行できますか、それとも新しい配列を作成して既存のフィールドをコピーする必要がありますか? このようなコピーを効率的に実行できるように、各フィールドの内容はメモリに連続して格納されていますか?