タグ付けされた質問 「numpy」

NumPyは、Pythonプログラミング言語の科学および数値計算の拡張機能です。

3
numpy、scipy、matplotlib、pylabの混乱
Numpy、scipy、matplotlib、およびpylabは、科学計算にPythonを使用する一般的な用語です。 私はpylabについて少し学ぶだけで混乱しました。numpyをインポートしたいときはいつでも、いつでもできます: import numpy as np 考えてみます。 from pylab import * numpyも(npエイリアスと共に)インポートされます。したがって、基本的には、2番目の方が最初の方よりも多くのことを行います。 聞きたいことがいくつかあります。 pylabがnumpy、scipy、matplotlibのラッパーにすぎないのは正しいことですか? npはpylabのnumpyエイリアスなので、pylabのscipyとmatplotlibエイリアスは何ですか?(私が知る限り、pltはmatplotlib.pyplotのエイリアスですが、matplotlib自体のエイリアスはわかりません)

8
複数の条件が機能するNumpy
距離と呼ばれる距離の配列があります。2つの値の間にあるdistsを選択します。それを行うために、次のコード行を書きました。 dists[(np.where(dists >= r)) and (np.where(dists <= r + dr))] ただし、これは条件のみを選択します (np.where(dists <= r + dr)) 一時変数を使用してコマンドを順番に実行すると、正常に機能します。上記のコードが機能しないのはなぜですか、どうやって機能させるのですか? 乾杯
132 python  numpy 

4
numpy max vs amax vs maximum
numpyには、同じものに使用できるように見える3つの異なる関数があります--- numpy.maximumことができますのみながら、要素ごとの使用するnumpy.maxとnumpy.amax、特定の軸、またはすべての要素で使用することができます。なぜそれ以上のものがあるのnumpy.maxですか?これにはパフォーマンスの微妙な点はありますか? (同様に min vs. aminに対してminimum)
132 python  numpy  math  max 

5
パンダのデータを正規化する
私がパンダのデータフレームを持っていると仮定しますdf: データフレームの列ごとの平均を計算します。 これは簡単: df.apply(average) 次に、列ごとの範囲max(col)-min(col)。これも簡単です。 df.apply(max) - df.apply(min) 次に、各要素について、その列の平均を減算し、その列の範囲で除算します。どうすればいいのかわかりません ヘルプ/ポインタは大歓迎です。
131 python  pandas  numpy 

8
乗算はNumPy MatrixクラスとArrayクラスでどのように異なりますか?
numpyのドキュメントでは、行列の操作に行列の代わりに配列を使用することを推奨しています。ただし、オクターブ(最近まで使用していた)とは異なり、*は行列乗算を実行しないため、関数matrixmultipy()を使用する必要があります。これにより、コードが非常に読みにくくなります。 誰かが私の意見を共有し、解決策を見つけましたか?

12
Pythonの多重線形回帰
重回帰を行うPythonライブラリを見つけることができないようです。私が見つけた唯一のものは、単純な回帰のみです。いくつかの独立変数(x1、x2、x3など)に対して依存変数(y)を回帰する必要があります。 たとえば、次のデータの場合: print 'y x1 x2 x3 x4 x5 x6 x7' for t in texts: print "{:>7.1f}{:>10.2f}{:>9.2f}{:>9.2f}{:>10.2f}{:>7.2f}{:>7.2f}{:>9.2f}" / .format(t.y,t.x1,t.x2,t.x3,t.x4,t.x5,t.x6,t.x7) (上記の出力:) y x1 x2 x3 x4 x5 x6 x7 -6.0 -4.95 -5.87 -0.76 14.73 4.02 0.20 0.45 -5.0 -4.55 -4.52 -0.71 13.74 4.47 0.16 0.50 -10.0 -10.96 -11.64 -0.98 15.49 4.18 …

12
numpy配列を初期化する
形状の派手な配列を初期化してそれに追加する方法はありますか?リストの例で必要なものを説明します。ループで生成されたオブジェクトのリストを作成する場合は、次のようにできます。 a = [] for i in range(5): a.append(i) numpy配列で同様のことをしたいのですが。私はvstackやconcatenateなどについて知っています。しかし、これらは入力として2つのnumpy配列を必要とするようです。私が必要なのは: big_array # Initially empty. This is where I don't know what to specify for i in range(5): array i of shape = (2,4) created. add to big_array big_array形状を持つべきです(10,4)。これを行う方法? 編集: 次の説明を追加したいと思います。私はそれを定義big_array = numpy.zeros((10,4))してそれを埋めることができることを知っています。ただし、これには事前にbig_arrayのサイズを指定する必要があります。この場合、サイズはわかりますが、知らない場合はどうなりますか?.appendPythonでリストを拡張する関数を使用する場合、事前に最終的なサイズを知る必要はありません。空の配列から始めて、小さな配列からより大きな配列を作成するために似たようなものが存在するかどうか疑問に思っています。
129 python  arrays  numpy 


6
python numpy ValueError:オペランドは形状と一緒にブロードキャストできませんでした
numpyでは、2つの「配列」Xが(m,n)あり、is とyvectorです。(n,1) を使用して X*y エラーが出ます ValueError: operands could not be broadcast together with shapes (97,2) (2,1) ときに (97,2)x(2,1)明確に法的な行列演算であると私に与えるべきである(97,1)ベクトルを 編集: 私はこれを使用して修正しましたX.dot(y)が、元の質問はまだ残っています。
128 python  numpy 

6
NumPy配列のインプレース型変換
のNumPy配列が与えられた場合、int32それをfloat32 インプレースに変換するにはどうすればよいですか なので基本的には a = a.astype(numpy.float32) 配列をコピーせずに。大きいです。 これを行う理由は、の計算に2つのアルゴリズムがあるためですa。1つはの配列を返し、もう1つはの配列をint32返しますfloat32(これは2つの異なるアルゴリズムに固有です)。以降のすべての計算では、aがの配列であると想定していfloat32ます。 現在、を介して呼び出されるC関数で変換を行っていctypesます。Pythonでこれを行う方法はありますか?
127 python  numpy 

3
numpyをインポートした後、マルチプロセッシングが単一コアのみを使用するのはなぜですか?
これがOSの問題としてそれ以上に数えられるかどうかはわかりませんが、誰かがPythonの終わりから何らかの洞察を持っている場合に備えて、ここで尋ねると思いました。 をfor使用してCPU負荷の高いループを並列化しようとしましたがjoblib、各ワーカープロセスが異なるコアに割り当てられる代わりに、すべてのワーカープロセスが同じコアに割り当てられ、パフォーマンスが向上しないことに気づきました。 これは非常に簡単な例です... from joblib import Parallel,delayed import numpy as np def testfunc(data): # some very boneheaded CPU work for nn in xrange(1000): for ii in data[0,:]: for jj in data[1,:]: ii*jj def run(niter=10): data = (np.random.randn(2,100) for ii in xrange(niter)) pool = Parallel(n_jobs=-1,verbose=1,pre_dispatch='all') results = pool(delayed(testfunc)(dd) for dd in …

6
ブール値のリストに基づくリストのフィルタリング
ブール値のリストの値を指定してフィルタリングする必要がある値のリストがあります。 list_a = [1, 2, 4, 6] filter = [True, False, True, False] 次の行を使用して、新しいフィルター済みリストを生成します。 filtered_list = [i for indx,i in enumerate(list_a) if filter[indx] == True] その結果: print filtered_list [1,4] ラインは機能しますが、(私にとって)少しやり過ぎに見え、同じことを達成するためのより簡単な方法があるかどうか疑問に思っていました。 アドバイス 以下の回答で与えられる2つの良いアドバイスの要約: 1- filter組み込み関数であるため、リストに名前を付けないでください。 2- それは不必要なので、True私がしたように物事を比較しないでくださいif filter[idx]==True..。使うif filter[idx]だけで十分です。
127 python  list  numpy 


7
MysqlDBで使用するPandasまたはNumpy NanをNoneに置き換える
MysqlDBを使用してmysqlデータベースにPandasデータフレーム(またはnumpy配列を使用できます)を書き込もうとしています。MysqlDBは 'nan'を理解していないようで、nanがフィールドリストにないことを示すエラーがデータベースからスローされます。「nan」をNoneTypeに変換する方法を見つける必要があります。 何か案は?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.