คำถามที่พบบ่อยที่สุด NumPy คำถามสัมภาษณ์และคำตอบ [สำหรับ Freshers]

เผยแพร่แล้ว: 2020-12-29

หากคุณกำลังมองหาอาชีพที่รุ่งโรจน์ในแวดวงเทคโนโลยี คุณรู้อยู่แล้วว่าวุฒิการศึกษาใน NumPy เป็นหนึ่งในทักษะที่เป็นที่ต้องการตัวมากที่สุด ท้ายที่สุด NumPy ถูกสร้างขึ้นบนมาตรฐานโดยพฤตินัยของอาร์เรย์การคำนวณ

ต่อไปนี้เป็นรายการคำถามและคำตอบในการสัมภาษณ์ NumPy ที่ถามบ่อยซึ่งคุณอาจต้องการค้นหาก่อนที่คุณจะปรากฏตัวในการสัมภาษณ์ครั้งต่อไป

คำถามและคำตอบสัมภาษณ์ 15 อันดับแรกของ NumPy

คำถามที่ 1: NumPy คืออะไร?

NumPy เป็นแพ็คเกจโอเพ่นซอร์สอเนกประสงค์อเนกประสงค์ที่ใช้สำหรับการประมวลผลอาร์เรย์ มันสั้นของ Numerical Python เป็นที่รู้จักในด้านประสิทธิภาพระดับไฮเอนด์ด้วยออบเจ็กต์อาร์เรย์ N-dimensional อันทรงพลังและเครื่องมือที่โหลดไว้เพื่อทำงานกับอาร์เรย์ แพ็คเกจนี้เป็นส่วนขยายของ Python และใช้เพื่อดำเนินการคำนวณทางวิทยาศาสตร์และฟังก์ชั่นการออกอากาศอื่นๆ

NumPy ใช้งานง่าย มีประสิทธิภาพสูงสุด และมีความยืดหยุ่นสูง

ไม่จำเป็นต้องมีประสบการณ์การเข้ารหัส การสนับสนุนด้านอาชีพ 360° PG Diploma in Machine Learning & AI จาก IIIT-B และ upGrad

คำถามที่ 2: การใช้ NumPy คืออะไร?

ไลบรารีตัวเลขแบบโอเพนซอร์สบน Python รองรับอาร์เรย์หลายมิติและมีโครงสร้างข้อมูลเมทริกซ์ การดำเนินการทางคณิตศาสตร์ประเภทต่างๆ สามารถทำได้บนอาร์เรย์โดยใช้ NumPy ซึ่งรวมถึงการดำเนินการเกี่ยวกับตรีโกณมิติเช่นเดียวกับการคำนวณทางสถิติและพีชคณิต Numeric และ Numarray เป็นส่วนขยายของ NumPy

คำถามที่ 3: เหตุใด NumPy จึงชอบใช้เครื่องมือการเขียนโปรแกรมอื่นๆ เช่น Idl, Matlab, Octave หรือ Yorick

NumPy เป็นไลบรารี่ประสิทธิภาพสูงในภาษาการเขียนโปรแกรม Python ที่ช่วยให้สามารถคำนวณทางวิทยาศาสตร์ได้ เป็นที่นิยมสำหรับ Idl, Matlab, Octave หรือ Yorick เพราะเป็นโอเพ่นซอร์สและฟรี นอกจากนี้ เนื่องจากมันใช้ Python ซึ่งเป็นภาษาการเขียนโปรแกรมเอนกประสงค์ มันจึงให้คะแนนมากกว่าภาษาโปรแกรมทั่วไปในการเชื่อมต่อล่ามของ Python กับ C/C++ และโค้ด Fortran

NumPy รองรับอาร์เรย์และเมทริกซ์หลายมิติ และช่วยในการดำเนินการทางคณิตศาสตร์ที่ซับซ้อนกับอาร์เรย์เหล่านี้

คำถามที่ 4: ฟีเจอร์ต่างๆ ของ NumPy คืออะไร?

NumPy เป็นแพ็คเกจโอเพ่นซอร์สที่ทรงพลังซึ่งใช้สำหรับการประมวลผลอาร์เรย์ NumPy มีคุณสมบัติที่มีประโยชน์มากมาย พวกเขาเป็น:

  1. ประกอบด้วยวัตถุอาร์เรย์ N มิติ
  2. มันโต้ตอบกันได้ เข้ากันได้กับฮาร์ดแวร์และแพลตฟอร์มคอมพิวเตอร์มากมาย
  3. ทำงานได้ดีมากกับไลบรารีอาร์เรย์ กระจัดกระจายกระจายหรือ GPU
  4. ความสามารถในการทำหน้าที่ที่ซับซ้อน (แพร่ภาพ)
  5. เครื่องมือที่เปิดใช้งานการทำงานร่วมกับ C หรือ C++ และรหัส Fortran
  6. ความสามารถในการทำงานทางคณิตศาสตร์ระดับสูง เช่น สถิติ การแปลงฟูริเยร์ การเรียงลำดับ การค้นหา พีชคณิตเชิงเส้น ฯลฯ
  7. นอกจากนี้ยังสามารถทำหน้าที่เป็นคอนเทนเนอร์หลายมิติสำหรับข้อมูลทั่วไป
  8. รองรับการคำนวณทางวิทยาศาสตร์และการเงิน

คำถามที่ 5: คุณจะติดตั้ง NumPy บน Windows ได้อย่างไร

ในการติดตั้ง NumPy บน Windows คุณต้องดาวน์โหลดและติดตั้ง Python บนคอมพิวเตอร์ของคุณก่อน

ทำตามขั้นตอนด้านล่างเพื่อติดตั้ง Python:

ขั้นตอนที่ 1: ไปที่หน้าอย่างเป็นทางการของ Python และดาวน์โหลดไบนารีที่ปฏิบัติการได้ของ Python และ Python บน Windows 10/8/7 . ของคุณ

ขั้นตอนที่ 2: เปิดตัวติดตั้งโปรแกรมปฏิบัติการ Python แล้วกด Run

ขั้นตอนที่ 3: ติดตั้ง pip บนระบบ Windows ของคุณ

เมื่อใช้ pip คุณสามารถติดตั้ง NumPy ใน Python ด้านล่างนี้คือขั้นตอนการติดตั้งของ NumPy:

ขั้นตอนที่ 1: เริ่มเทอร์มินัล

ขั้นตอนที่ 2: พิมพ์ pip

ขั้นตอนที่ 3: ติดตั้ง NumPy

คำถามที่ 6 ระบุข้อดีของ NumPy Arrays ที่มีมากกว่า (ซ้อนกัน) รายการ Python หรือไม่

รายการของ Python แม้ว่าคอนเทนเนอร์จะมีประสิทธิภาพอย่างมหาศาลซึ่งสามารถทำงานได้หลายอย่าง แต่ก็มีข้อจำกัดหลายประการเมื่อเปรียบเทียบกับอาร์เรย์ NumPy เป็นไปไม่ได้ที่จะดำเนินการเวกเตอร์ซึ่งรวมถึงการบวกและการคูณด้วยองค์ประกอบ

พวกเขายังต้องการให้ Python เก็บข้อมูลประเภทของทุกองค์ประกอบเนื่องจากรองรับวัตถุประเภทต่างๆ ซึ่งหมายความว่าต้องดำเนินการรหัสการจัดส่งประเภททุกครั้งที่มีการดำเนินการกับองค์ประกอบ นอกจากนี้ การวนซ้ำแต่ละครั้งจะต้องผ่านการตรวจสอบประเภทและต้องมีการทำบัญชี Python API ส่งผลให้มีการดำเนินการน้อยมากโดย C ลูป

คำถามที่ 7: ระบุขั้นตอนในการสร้างอาร์เรย์ 1D และ 2D array

อาร์เรย์หนึ่งมิติถูกสร้างขึ้นดังนี้:

num=[1,2,3]

num = np.array(จำนวน)

พิมพ์(“1d อาร์เรย์: “,จำนวน)

อาร์เรย์สองมิติถูกสร้างขึ้นดังนี้:

num2=[[1,2,3],[4,5,6]]

num2 = np.array(หมายเลข2)

พิมพ์(“\n2d อาร์เรย์: “,num2)

เช็คเอาท์: คำถามสัมภาษณ์วิทยาศาสตร์ข้อมูล

คำถามที่ 8: คุณจะสร้างอาร์เรย์ 3 มิติได้อย่างไร

อาร์เรย์สามมิติถูกสร้างขึ้นดังนี้:

num3=[[[1,2,3],[4,5,6],[7,8,9]]]

num3 = np.array(num3)

พิมพ์(“\n3d อาร์เรย์: “,num3)

คำถามที่ 9: ขั้นตอนในการใช้รูปร่างสำหรับอาร์เรย์ 1D, อาร์เรย์ 2D และอาร์เรย์ 3D/ND ตามลำดับมีอะไรบ้าง

อาร์เรย์ 1D:

num=[1,2,3] ถ้าไม่เติม

พิมพ์ ('\nshpae จาก 1d ',num.shape)

อาร์เรย์ 2 มิติ:

num2=[[1,2,3],[4,5,6]] ถ้าไม่เพิ่ม

พิมพ์ ('\nshpae ของ 2d ',num2.shape)

อาร์เรย์ 3 มิติหรือ ND:

num3=[[[1,2,3],[4,5,6],[7,8,9]]] ถ้าไม่เพิ่ม

พิมพ์ ('\nshpae ของ 3d ',num3.shape)

คำถามที่ 10: คุณจะระบุประเภทข้อมูลของอาร์เรย์ NumPy ที่กำหนดได้อย่างไร

ใช้ลำดับของรหัสต่อไปนี้เพื่อระบุประเภทข้อมูลของอาร์เรย์ NumPy

พิมพ์('\n ชนิดข้อมูล num 1 ',num.dtype)

พิมพ์ ('\n ชนิดข้อมูล num 2 ',num2.dtype)

พิมพ์ ('\n ชนิดข้อมูล num 3 ',num3.dtype)

คำถามที่ 11. ขั้นตอนในการนับจำนวนครั้งที่ค่าที่กำหนดปรากฏในอาร์เรย์ของจำนวนเต็มคืออะไร?

คุณสามารถนับจำนวนครั้งที่ค่าที่ระบุปรากฏขึ้นโดยใช้ฟังก์ชัน bincount() ควรสังเกตว่าฟังก์ชัน bincount() ยอมรับจำนวนเต็มบวกหรือนิพจน์บูลีนเป็นอาร์กิวเมนต์ ไม่สามารถใช้จำนวนเต็มลบได้

ใช้ NumPy.bincount() อาร์เรย์ผลลัพธ์คือ

>>> arr = NumPy.array([0, 5, 4, 0, 4, 4, 3, 0, 0, 5, 2, 1, 1, 9])

>>> NumPy.bincount(arr)

คำถามที่ 12. คุณจะตรวจสอบอาร์เรย์ที่ว่างเปล่า (zero Element) ได้อย่างไร?

หากตัวแปรเป็นอาร์เรย์ คุณสามารถตรวจสอบอาร์เรย์ว่างได้โดยใช้แอตทริบิวต์ size อย่างไรก็ตาม เป็นไปได้ที่ตัวแปรจะเป็นรายการหรือประเภทลำดับ ในกรณีนี้ คุณสามารถใช้ len()

วิธีที่ดีกว่าในการตรวจสอบองค์ประกอบศูนย์คือแอตทริบิวต์ size นี้เป็นเพราะ:

>>> a = NumPy.zeros((1,0))

>>> ก.ขนาด

0

ในทางตรงกันข้าม

>>> เลน (ก)

1

คำถามที่ 13: อะไรคือขั้นตอนในการค้นหาดัชนีของอาร์เรย์บน NumPy โดยที่เงื่อนไขบางอย่างเป็นจริง

คุณสามารถใช้ฟังก์ชัน numpy.nonzero() เพื่อค้นหาดัชนีหรืออาร์เรย์ คุณยังสามารถใช้เมธอดที่ไม่ใช่ศูนย์ () เพื่อทำเช่นนั้นได้

ในโปรแกรมต่อไปนี้ เราจะนำอาร์เรย์ a โดยที่เงื่อนไขคือ a > 3 ซึ่งจะส่งคืนอาร์เรย์บูลีน เรารู้ว่าเป็นเท็จใน Python และ NumPy แสดงเป็น 0 ดังนั้น np.nonzero(a > 3) จะส่งคืนดัชนีของอาร์เรย์ a โดยที่เงื่อนไขเป็น True

>>> นำเข้า numpy เป็น np

>>> a = np.array([[1,2,3],[4,5,6],[7,8,9]])

>>>>>3

อาร์เรย์ ([[เท็จ, เท็จ, เท็จ],

[ จริง จริง จริง ],

[ จริง จริง จริง ]] dtype=bool)

>>> np.ไม่ใช่ศูนย์(a > 3)

(อาร์เรย์([1, 1, 1, 2, 2, 2]), อาร์เรย์([0, 1, 2, 0, 1, 2]))

คุณยังสามารถเรียกเมธอดที่ไม่ใช่ศูนย์ () ของอาร์เรย์บูลีนได้

>>> (a > 3).nonzero()

(อาร์เรย์([1, 1, 1, 2, 2, 2]), อาร์เรย์([0, 1, 2, 0, 1, 2]))

อ่าน: Dataframe ใน Apache PySpark: บทช่วยสอนที่ครอบคลุม

คำถามที่ 14: แสดงด้านล่างเป็นอินพุตอาร์เรย์ NumPy ลบคอลัมน์ที่สองและแทนที่ด้วยคอลัมน์ใหม่ที่ระบุด้านล่าง

นำเข้า NumPy

sampleArray = NumPy.array([[34,43,73],[82,22,12],[53,94,66]])

newColumn = NumPy.array([[10,10,10]])

ผลผลิตที่คาดหวัง :

การพิมพ์ต้นฉบับอาร์เรย์

[[34 43 73]

[82 22 12]

[53 94 66]]

อาร์เรย์หลังจากลบคอลัมน์ 2 บนแกน 1

[[34 73]

[82 12]

[53 66]]

อาร์เรย์หลังจากแทรกคอลัมน์ 2 บนแกน 1

[[34 10 73]

[82 10 12]

[53 10 66]]

วิธีแก้ไข :

นำเข้า NumPy

พิมพ์("การพิมพ์อาร์เรย์ต้นฉบับ")

sampleArray = NumPy.array([[34,43,73],[82,22,12],[53,94,66]])

พิมพ์ (sampleArray)

พิมพ์ (“อาร์เรย์หลังจากลบคอลัมน์ 2 บนแกน 1”)

sampleArray = NumPy.delete (sampleArray , 1, แกน = 1)

พิมพ์ (sampleArray)

arr = NumPy.array([[10,10,10]])

พิมพ์("อาร์เรย์หลังจากแทรกคอลัมน์ 2 บนแกน 1")

sampleArray = NumPy.insert(sampleArray , 1, arr, แกน = 1)

พิมพ์ (sampleArray)

การรับรองขั้นสูงของ Data Science, พันธมิตรจ้างงานมากกว่า 250 ราย, การเรียนรู้มากกว่า 300 ชั่วโมง, 0% EMI
คำถามที่ 15: สร้างอาร์เรย์ 2-D สองชุด พล็อตโดยใช้ matplotlib

วิธีแก้ไข :

นำเข้า NumPy

พิมพ์("การพิมพ์อาร์เรย์ต้นฉบับ")

sampleArray = NumPy.array([[34,43,73],[82,22,12],[53,94,66]])

พิมพ์ (sampleArray)

พิมพ์ (“อาร์เรย์หลังจากลบคอลัมน์ 2 บนแกน 1”)

sampleArray = NumPy.delete (sampleArray , 1, แกน = 1)

พิมพ์ (sampleArray)

arr = NumPy.array([[10,10,10]])

พิมพ์("อาร์เรย์หลังจากแทรกคอลัมน์ 2 บนแกน 1")

sampleArray = NumPy.insert(sampleArray , 1, arr, แกน = 1)

พิมพ์ (sampleArray)

บทสรุป

เราหวังว่าดังกล่าวข้างต้น คำถามสัมภาษณ์ NumPy จะช่วยคุณเตรียมความพร้อมสำหรับการสัมภาษณ์ที่จะเกิดขึ้น หากคุณกำลังมองหาหลักสูตรที่สามารถช่วยให้คุณเข้าใจภาษา Python upGrad อาจเป็นแพลตฟอร์มที่ดีที่สุด

หากคุณอยากเรียนรู้เกี่ยวกับวิทยาศาสตร์ข้อมูล ลองดูโปรแกรมวิทยาศาสตร์ข้อมูลออนไลน์ของ IIIT-B และ upGrad ซึ่งสร้างขึ้นสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 10 รายการ เวิร์กช็อปภาคปฏิบัติจริง การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม แบบตัวต่อตัว -1 พร้อมที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

เราหวังว่าสิ่งนี้จะช่วยได้ ขอให้โชคดีในการสัมภาษณ์ของคุณ!

เตรียมความพร้อมสู่อาชีพแห่งอนาคต

สมัครเลยตอนนี้สำหรับ Executive PG Program in Data Science