ตัวกรอง Numpy

Taw Krxng Numpy



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

สมมติว่าเรามีข้อมูลของนักเรียนที่จัดเก็บไว้ในรูปแบบของอาร์เรย์ และเราต้องการกรองนักเรียนที่ล้มเหลวออก เราจะกรองอาร์เรย์และไม่รวมนักเรียนที่ล้มเหลวและจะได้รับอาร์เรย์ใหม่ของนักเรียนที่สอบผ่าน

ขั้นตอนในการกรอง NumPy Array

ขั้นตอนที่ 1: กำลังนำเข้าโมดูล NumPy







ขั้นตอนที่ 2: การสร้างอาร์เรย์



ขั้นตอนที่ 3: เพิ่มเงื่อนไขการกรอง



ขั้นตอนที่ 4: สร้างอาร์เรย์ที่กรองใหม่





ไวยากรณ์:

มีหลายวิธีในการกรองอาร์เรย์ ขึ้นอยู่กับเงื่อนไขของตัวกรอง เช่น ถ้าเรามีเงื่อนไขเดียวหรือมีมากกว่าหนึ่งเงื่อนไข

วิธีที่ 1: สำหรับเงื่อนไขเดียว เราจะปฏิบัติตามไวยากรณ์ต่อไปนี้

อาร์เรย์ [ อาร์เรย์ < สภาพ ]

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



วิธีที่ 2: การใช้ตัวดำเนินการ 'OR'

อาร์เรย์ [ ( อาร์เรย์ < เงื่อนไข1 ) | ( อาร์เรย์ > เงื่อนไข2 ) ]

ในวิธีนี้ “อาร์เรย์” คือชื่อของอาร์เรย์ที่เราจะกรองค่าและส่งต่อเงื่อนไขไปยังอาร์เรย์นั้น ตัวดำเนินการ “|” ใช้แทนฟังก์ชัน 'OR' ซึ่งหมายความว่าจากทั้งสองเงื่อนไขหนึ่งควรเป็นจริง มีประโยชน์เมื่อมีเงื่อนไขสองประการ

วิธีที่ 3: การใช้ตัวดำเนินการ 'AND'

อาร์เรย์ [ ( อาร์เรย์ < เงื่อนไข1 ) & ( อาร์เรย์ > เงื่อนไข2 ) ]

ในไวยากรณ์ต่อไปนี้ “อาร์เรย์” คือชื่อของอาร์เรย์ที่จะกรอง ในขณะที่เงื่อนไขจะเป็นสถานะตามที่กล่าวไว้ในไวยากรณ์ข้างต้นในขณะที่ตัวดำเนินการที่ใช้ '&' คือตัวดำเนินการ AND ซึ่งหมายความว่าทั้งสองเงื่อนไขจะต้องเป็นจริง

วิธีที่ 4: กรองตามค่าจดทะเบียน

อาร์เรย์ [ เช่น. ใน1วัน ( อาร์เรย์ , [ รายการค่า ] ) ]

ในวิธีนี้ เราได้ส่งอาร์เรย์ 'np.in1d' ที่กำหนดไว้ซึ่งใช้เพื่อเปรียบเทียบสองอาร์เรย์ว่าองค์ประกอบของอาร์เรย์ที่จะกรองมีอยู่ในอาร์เรย์อื่นหรือไม่ และอาร์เรย์จะถูกส่งไปยังฟังก์ชัน np.in1d ​​ที่จะถูกกรองจากอาร์เรย์ที่กำหนด

ตัวอย่าง # 01:

ตอนนี้ ให้เราใช้วิธีการที่กล่าวถึงข้างต้นในตัวอย่าง ประการแรก เราจะรวมไลบรารี NumPy ของเราที่ Python จัดหาให้ จากนั้นเราจะสร้างอาร์เรย์ชื่อ 'my_array' ซึ่งจะเก็บค่า '2', '3', '1', '9', '3', '5', '6' และ '1' ต่อไป เราจะส่งรหัสตัวกรองที่เป็น “my_array[(my_array < 5)]” ไปยังคำสั่งการพิมพ์ ซึ่งหมายความว่าเรากำลังกรองค่าที่น้อยกว่า “5” ในบรรทัดถัดไป เราได้สร้างอาร์เรย์ของชื่อ 'อาร์เรย์' อีกชุดหนึ่งซึ่งมีหน้าที่ในการมีค่า '1', '2', '6', '3', '8', '1' และ '0' สำหรับคำสั่ง print เราผ่านเงื่อนไขที่เราจะพิมพ์ค่าที่มากกว่า 5

สุดท้าย เราได้สร้างอาร์เรย์อื่นที่เราตั้งชื่อว่า 'arr' โดยมีค่าเป็น “6”, “7”,10”, “12” และ “14” สำหรับอาร์เรย์นี้ เราจะพิมพ์ค่าที่ไม่มีอยู่ในอาร์เรย์เพื่อดูว่าจะเกิดอะไรขึ้นหากเงื่อนไขไม่ตรงกัน ในการทำเช่นนั้น เราได้ผ่านเงื่อนไขที่จะกรองค่าที่เท่ากับค่า “5”

นำเข้า งี่เง่า เช่น เช่น.

my_array = เช่น. อาร์เรย์ ( [ สอง , 3 , 1 , 9 , 3 , 5 , สอง , 6 , 1 ] )

พิมพ์ ( 'ค่าน้อยกว่า 5' , my_array [ ( my_array < 5 ) ] )

อาร์เรย์ = เช่น. อาร์เรย์ ( [ 1 , สอง , 6 , 3 , 8 , 1 , 0 ] )

พิมพ์ ( 'ค่าที่มากกว่า 5' , อาร์เรย์ [ ( อาร์เรย์ > 5 ) ] )

arr = เช่น. อาร์เรย์ ( [ 6 , 7 , 10 , 12 , 14 ] )

พิมพ์ ( 'ค่าเท่ากับ 5' , arr [ ( arr == 5 ) ] )

หลังจากรันโค้ด เราได้ผลลัพธ์ต่อไปนี้ ซึ่งเราได้แสดงผล 3 รายการ อันแรกมีไว้สำหรับองค์ประกอบที่น้อยกว่า '5' ในการดำเนินการครั้งที่สอง เราพิมพ์ค่าที่มากกว่า '5' ในตอนท้าย เราพิมพ์ค่าที่ไม่มีอยู่เนื่องจากเราจะเห็นว่าไม่แสดงข้อผิดพลาดใดๆ แต่แสดงอาร์เรย์ว่าง ซึ่งหมายความว่าไม่มีค่าที่ต้องการในอาร์เรย์ที่กำหนด

ตัวอย่าง # 02:

ในตัวอย่างนี้ เราจะใช้วิธีการบางอย่างที่เราสามารถใช้มากกว่าหนึ่งเงื่อนไขเพื่อกรองอาร์เรย์ ในการดำเนินการเราจะนำเข้าไลบรารี NumPy แล้วสร้างอาร์เรย์หนึ่งมิติขนาด '9' ที่มีค่า '24', '3', '12', '9', '3', '5', “2”, “6” และ “7” ในบรรทัดถัดไป เราใช้คำสั่ง print ซึ่งเราได้ส่งผ่านอาร์เรย์ที่เราเริ่มต้นด้วยชื่อ “my_array” โดยมีเงื่อนไขเป็นอาร์กิวเมนต์ ในที่นี้เราได้ผ่าน or condition ซึ่งหมายถึงจากทั้งสองเงื่อนไขนั้น เงื่อนไขหนึ่งจะต้องเป็นจริง หากทั้งคู่เป็นจริง ก็จะแสดงข้อมูลของทั้งสองเงื่อนไข ในเงื่อนไขนี้ เราต้องการพิมพ์ค่าที่น้อยกว่า “5” และมากกว่า “9” ในบรรทัดถัดไป เราใช้ตัวดำเนินการ AND เพื่อตรวจสอบว่าจะเกิดอะไรขึ้นหากเราใช้เงื่อนไขในการกรองอาร์เรย์ ในเงื่อนไขนี้ เราแสดงค่าที่มากกว่า “5” และน้อยกว่า “9”

นำเข้า numpy เช่น เช่น.

my_array = เช่น. อาร์เรย์ ( [ 24 , 3 , 12 , 9 , 3 , 5 , สอง , 6 , 7 ] )

พิมพ์ ( “ค่าน้อยกว่า 5 หรือ มากกว่า 9 , my_array [ ( my_array < 5 ) | ( my_array > 9 ) ] )

พิมพ์ ( “มีค่ามากกว่า 5 และ น้อยกว่า 9 , my_array [ ( my_array > 5 ) & ( my_array < 9 ) ] )

ดังที่แสดงในตัวอย่างด้านล่าง ผลลัพธ์ของเราสำหรับโค้ดด้านบนจะแสดงขึ้นโดยที่เรากรองอาร์เรย์และได้ผลลัพธ์ดังต่อไปนี้ ดังที่เราเห็นค่าที่มากกว่า 9 และน้อยกว่า 5 แสดงในเอาต์พุตแรก และค่าระหว่าง 5 ถึง 9 ถูกละเลย ในขณะที่ในบรรทัดถัดไป เราได้พิมพ์ค่าระหว่าง '5' และ '9' ซึ่งก็คือ '6' และ '7' ค่าอื่นๆ ของอาร์เรย์จะไม่แสดง

บทสรุป

ในคู่มือนี้ เราได้กล่าวถึงการใช้วิธีการกรองโดยสังเขปโดยแพ็คเกจ NumPy เราได้นำตัวอย่างหลายตัวอย่างมาใช้เพื่ออธิบายให้คุณทราบถึงวิธีที่ดีที่สุดในการปรับใช้วิธีการกรองที่ numpy จัดหาให้