NumPy - การดำเนินการทางคณิตศาสตร์
อาร์เรย์อินพุตสำหรับการดำเนินการทางคณิตศาสตร์เช่น add () ลบ () คูณ () และหาร () ต้องมีรูปร่างเหมือนกันหรือควรเป็นไปตามกฎการกระจายเสียงของอาร์เรย์
ตัวอย่าง
import numpy as np
a = np.arange(9, dtype = np.float_).reshape(3,3)
print 'First array:'
print a
print '\n'
print 'Second array:'
b = np.array([10,10,10])
print b
print '\n'
print 'Add the two arrays:'
print np.add(a,b)
print '\n'
print 'Subtract the two arrays:'
print np.subtract(a,b)
print '\n'
print 'Multiply the two arrays:'
print np.multiply(a,b)
print '\n'
print 'Divide the two arrays:'
print np.divide(a,b)
มันจะสร้างผลลัพธ์ต่อไปนี้ -
First array:
[[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]]
Second array:
[10 10 10]
Add the two arrays:
[[ 10. 11. 12.]
[ 13. 14. 15.]
[ 16. 17. 18.]]
Subtract the two arrays:
[[-10. -9. -8.]
[ -7. -6. -5.]
[ -4. -3. -2.]]
Multiply the two arrays:
[[ 0. 10. 20.]
[ 30. 40. 50.]
[ 60. 70. 80.]]
Divide the two arrays:
[[ 0. 0.1 0.2]
[ 0.3 0.4 0.5]
[ 0.6 0.7 0.8]]
ตอนนี้ให้เราพูดถึงฟังก์ชันเลขคณิตที่สำคัญอื่น ๆ ที่มีอยู่ใน NumPy
numpy.reciprocal ()
ฟังก์ชั่นนี้คืนค่าซึ่งกันและกันของอาร์กิวเมนต์ซึ่งเป็นองค์ประกอบที่ชาญฉลาด สำหรับองค์ประกอบที่มีค่าสัมบูรณ์มากกว่า 1 ผลลัพธ์จะเป็น 0 เสมอเนื่องจากวิธีที่ Python จัดการกับการหารจำนวนเต็ม สำหรับจำนวนเต็ม 0 จะมีการออกคำเตือนล้น
ตัวอย่าง
import numpy as np
a = np.array([0.25, 1.33, 1, 0, 100])
print 'Our array is:'
print a
print '\n'
print 'After applying reciprocal function:'
print np.reciprocal(a)
print '\n'
b = np.array([100], dtype = int)
print 'The second array is:'
print b
print '\n'
print 'After applying reciprocal function:'
print np.reciprocal(b)
มันจะสร้างผลลัพธ์ต่อไปนี้ -
Our array is:
[ 0.25 1.33 1. 0. 100. ]
After applying reciprocal function:
main.py:9: RuntimeWarning: divide by zero encountered in reciprocal
print np.reciprocal(a)
[ 4. 0.7518797 1. inf 0.01 ]
The second array is:
[100]
After applying reciprocal function:
[0]
numpy.power ()
ฟังก์ชั่นนี้ถือว่าองค์ประกอบในอาร์เรย์อินพุตแรกเป็นฐานและส่งกลับไปเป็นพลังขององค์ประกอบที่เกี่ยวข้องในอาร์เรย์อินพุตที่สอง
import numpy as np
a = np.array([10,100,1000])
print 'Our array is:'
print a
print '\n'
print 'Applying power function:'
print np.power(a,2)
print '\n'
print 'Second array:'
b = np.array([1,2,3])
print b
print '\n'
print 'Applying power function again:'
print np.power(a,b)
มันจะสร้างผลลัพธ์ต่อไปนี้ -
Our array is:
[ 10 100 1000]
Applying power function:
[ 100 10000 1000000]
Second array:
[1 2 3]
Applying power function again:
[ 10 10000 1000000000]
numpy.mod ()
ฟังก์ชันนี้จะคืนค่าส่วนที่เหลือของการแบ่งองค์ประกอบที่เกี่ยวข้องในอาร์เรย์อินพุต ฟังก์ชั่นnumpy.remainder() ยังให้ผลลัพธ์เดียวกัน
import numpy as np
a = np.array([10,20,30])
b = np.array([3,5,7])
print 'First array:'
print a
print '\n'
print 'Second array:'
print b
print '\n'
print 'Applying mod() function:'
print np.mod(a,b)
print '\n'
print 'Applying remainder() function:'
print np.remainder(a,b)
มันจะสร้างผลลัพธ์ต่อไปนี้ -
First array:
[10 20 30]
Second array:
[3 5 7]
Applying mod() function:
[1 0 2]
Applying remainder() function:
[1 0 2]
ฟังก์ชันต่อไปนี้ใช้เพื่อดำเนินการกับอาร์เรย์ที่มีจำนวนเชิงซ้อน
numpy.real() - ส่งคืนส่วนจริงของอาร์กิวเมนต์ชนิดข้อมูลที่ซับซ้อน
numpy.imag() - ส่งคืนส่วนจินตภาพของอาร์กิวเมนต์ชนิดข้อมูลที่ซับซ้อน
numpy.conj() - ส่งคืนคอนจูเกตที่ซับซ้อนซึ่งได้มาจากการเปลี่ยนสัญลักษณ์ของส่วนจินตภาพ
numpy.angle()- คืนค่ามุมของอาร์กิวเมนต์ที่ซับซ้อน ฟังก์ชันมีพารามิเตอร์องศา ถ้าเป็นจริงมุมในองศาจะถูกส่งกลับมิฉะนั้นมุมจะเป็นเรเดียน
import numpy as np
a = np.array([-5.6j, 0.2j, 11. , 1+1j])
print 'Our array is:'
print a
print '\n'
print 'Applying real() function:'
print np.real(a)
print '\n'
print 'Applying imag() function:'
print np.imag(a)
print '\n'
print 'Applying conj() function:'
print np.conj(a)
print '\n'
print 'Applying angle() function:'
print np.angle(a)
print '\n'
print 'Applying angle() function again (result in degrees)'
print np.angle(a, deg = True)
มันจะสร้างผลลัพธ์ต่อไปนี้ -
Our array is:
[ 0.-5.6j 0.+0.2j 11.+0.j 1.+1.j ]
Applying real() function:
[ 0. 0. 11. 1.]
Applying imag() function:
[-5.6 0.2 0. 1. ]
Applying conj() function:
[ 0.+5.6j 0.-0.2j 11.-0.j 1.-1.j ]
Applying angle() function:
[-1.57079633 1.57079633 0. 0.78539816]
Applying angle() function again (result in degrees)
[-90. 90. 0. 45.]