Sunday, 15 March 2015

python - Adding and multiplying columns of a numpy array with another array -


मेरे पास 2D numpy array x और और 1D numpy सरणी y :

  आयात करें npx np x = np.arange ( 12) .रेशिप ((4, 3)) y = np.array (([1.0,2.0,3.0,4.0])  

मैं कॉलम वेक्टर / कोड को गुणा / जोड़ना चाहता हूं > x के प्रत्येक कॉलम में y.reshape ((4,1)) । मैंने निम्न प्रयास किए:

  y1 = y.reshape (( 4,1) y1 * x  

पैदावार

  सरणी ([[0., 1., 2], [6., 8 , 10.], [18., 21., 24.], [36., 40., 44.]])  

जो कि मैं चाहता था मैं भी पाया

  सरणी ([[1., 2., 3.], [5., 6., 7.], [9, 10., 11.], [13., 14 , 15.]])  

y1 + x के साथ।
मुझे यह जानना चाहूंगा कि क्या वहां प्राप्त करने के लिए एक बेहतर (अधिक कुशल) तरीका है एक ही बात!

<पी > NumPy प्रसारण के माध्यम से इस का समर्थन करता है आपका कोड प्रसारण का उपयोग करता है और यह काम करने का सबसे कारगर तरीका है मैं सामान्य रूप से इसे लिखता हूं:

 > gt; & gt; X * y [..., np.newaxis] सरणी ([[0., 1., 2], [6., 8., 10], [18., 21., 24.], [36 ।, 40., 44.]])  

यह देखने के लिए कि यह बराबर है:

  & gt; & gt; & gt; Z = y [..., np.newaxis]> gt; & gt; & gt;  

आप यह भी देख सकते हैं कि NumPy किसी भी डेटा की प्रतिलिपि नहीं करता है, यह केवल आंतरिक रूप से एक ही स्मृति पर चलना बदलता है

 < कोड> & gt; & gt; & gt;   
  • / html>

    No comments:

    Post a Comment