กรณีหมีแพนด้า

Krni Hmi Phaenda



เมื่อตรงตามเงื่อนไขหรือตรงตามเงื่อนไข คำสั่ง case ในภาษา pandas จะให้ผลลัพธ์หรือคืนค่ากลับ คำสั่ง case ทำให้สามารถเปรียบเทียบค่าของตัวแปรกับช่วงของค่าที่เป็นไปได้ เมื่อชุดของค่าถูกอ้างถึงหรือส่งผ่านในคำสั่ง case แต่ละค่าภายในชุดจะถูกตรวจสอบโดยเคสหรือเงื่อนไขภายในคำสั่ง เรายังสามารถใช้คำสั่ง if-else เพื่อทำการดำเนินการเดียวกันได้ หากเงื่อนไขบางอย่างเป็นจริง คำสั่ง if-else จะทำให้สคริปต์ทำงาน คำสั่ง if-else บอกว่าให้ทำสิ่งนี้หากเงื่อนไขเป็นจริงและทำอย่างนั้นหากเงื่อนไขนั้นไม่เป็นจริง ในบทช่วยสอนนี้ เราจะดำเนินการต่างๆ โดยใช้คำสั่ง case และ if-else

จะใช้คำชี้แจงกรณี Pandas ได้อย่างไร

คำชี้แจงกรณีสามารถสร้างขึ้นได้หลายวิธี ฟังก์ชัน NumPy where() ซึ่งใช้ไวยากรณ์พื้นฐานต่อไปนี้ เป็นวิธีที่ง่ายที่สุดในการสร้างคำสั่ง case ใน Pandas DataFrame:

df [ 'ชื่อคอลัมน์' ] = np.ที่ไหน ( สภาพ 1 , 'ค่า1',
np.ที่ไหน ( สภาพ สอง , 'ค่า2',
np.ที่ไหน ( สภาพ 3 , 'value3', 'value4' ) ) )







คำสั่งด้านบนจะตรวจสอบแต่ละเงื่อนไขเพื่อหาค่า และหากตรงตามเงื่อนไข จะสร้างผลลัพธ์หรือคืนค่ากลับตามเงื่อนไข



ตัวอย่าง # 1: Pandas Case Statement โดยใช้ where() Function

มาสร้าง data frame กันก่อน เพื่อเราจะได้ใช้ case statement ของเรา ในการสร้าง data frame ก่อนอื่นเราจะนำเข้าโมดูล numpy และ pandas เพื่อให้สามารถใช้ฟังก์ชันต่างๆ ได้ pd.Dataframe() จะถูกใช้เพื่อสร้าง data frame ของเรา







เราได้สร้างกรอบข้อมูล 'df' พจนานุกรม Python ถูกส่งผ่านภายใน pd.DataFrame() ทำหน้าที่เป็นอาร์กิวเมนต์ที่มีคีย์และค่าต่างๆ เราจะใช้ฟังก์ชัน print() เพื่อดู data frame ของเรา



ในกรอบข้อมูล 'df' เรามี 'ชื่อ' และ 'เครื่องหมาย' สองคอลัมน์พร้อมค่า ['Ron', 'Tim', 'Anna', 'Jack', 'Rob', 'Lucy'] และ [4, 6 , 8, 6, 9,10] ตามลำดับ สมมติว่าชื่อนั้นเป็นคอลัมน์ที่เก็บชื่อนักเรียนและคอลัมน์ 'เครื่องหมาย' เก็บคะแนนของการทดสอบล่าสุดบางส่วน ตอนนี้ เราจะเขียนคำสั่ง case ที่เพิ่มคอลัมน์ใหม่ชื่อ 'remarks' ซึ่งค่าต่างๆ จะยึดตามค่าที่เราระบุไว้ สำหรับแต่ละเงื่อนไข

วิธีการ “numpy.where()” จัดเตรียมดัชนีองค์ประกอบจากอาร์เรย์อินพุต คอลัมน์ หรือรายการที่ตรงตามเงื่อนไขที่ระบุ ในกรณีสวิตช์ด้านบน ฟังก์ชัน np.where() จะตรวจสอบแต่ละองค์ประกอบในคอลัมน์ 'marks' หากค่าเท่ากับหรือน้อยกว่า 5 จะส่งกลับ 'ล้มเหลว' เป็นเอาต์พุต หากค่าน้อยกว่าหรือเท่ากับ 7 ก็จะคืนค่าเป็นที่น่าพอใจ และหากค่าน้อยกว่าหรือเท่ากับ 9 ก็จะคืนค่าเป็น 'ดีมาก' หากไม่มีผลลัพธ์จะออกมาดีเยี่ยม

ดังที่สังเกตได้ 'หมายเหตุ' คอลัมน์ใหม่จะถูกสร้างขึ้นในกรอบข้อมูล 'df' ของเรา โดยจัดเก็บค่าที่ส่งคืนโดยคำสั่ง case ด้านบน

ตัวอย่าง # 2:

ลองใช้คำสั่ง case ด้านบนอีกครั้งด้วย data frame อื่น สมมติว่าเราต้องให้คะแนนผู้เล่นตามเป้าหมายทั้งหมดของพวกเขาในการแข่งขันฟุตบอลครั้งก่อน มาสร้าง data frame เพื่อเก็บบันทึกนักเตะกัน

เราได้ส่งพจนานุกรมที่มีคีย์ 'ชื่อ' และ 'เป้าหมาย' ภายในฟังก์ชัน pd.DataFrame() เพื่อสร้างกรอบข้อมูลของเรา ในการพิมพ์ data frame เราจะใช้ฟังก์ชันการพิมพ์

ดังที่เห็นในกรอบข้อมูลด้านบน เรามีสองคอลัมน์: 'ชื่อ' และ 'เป้าหมาย' ในชื่อคอลัมน์ เรามีชื่อผู้เล่น ['John', 'Marty', 'Clay', 'Nick', 'Mike', 'Alex', 'Tom', 'Rocky'] ในประตู 'คอลัมน์' เรามีจำนวนประตูทั้งหมดที่ผู้เล่นแต่ละคนทำได้ในทัวร์นาเมนต์ก่อนหน้า ตอนนี้เราจะใช้คำชี้แจงกรณีของเราเพื่อให้คะแนนผู้เล่นเหล่านี้ตามเป้าหมายที่พวกเขาทำคะแนนได้

กรณีข้างต้นถูกสร้างขึ้นโดยใช้ฟังก์ชัน where() ในกรณีนี้ ฟังก์ชันคำสั่งจะตรวจสอบแต่ละองค์ประกอบในคอลัมน์ 'ทำเครื่องหมาย' กับเงื่อนไข หากค่าในคอลัมน์ 'เป้าหมาย' เท่ากับหรือน้อยกว่า 5 ค่านั้นจะส่งกลับ 'C' หากค่าในคอลัมน์ 'เป้าหมาย' เท่ากับหรือน้อยกว่า 9 ค่านั้นจะส่งกลับ 'B' มันจะส่งคืน 'A' หากค่าในคอลัมน์ 'เป้าหมาย' เท่ากับหรือมากกว่า 10 ค่าที่ส่งคืนโดยคำสั่งจะถูกเก็บไว้ใน 'การให้คะแนน' คอลัมน์ใหม่ ลองพิมพ์ 'df' เพื่อดูผลลัพธ์

สร้างคอลัมน์ใหม่ 'การให้คะแนน' สำเร็จโดยใช้สคริปต์ด้านบน

ตัวอย่าง # 3: คำสั่ง if-else ของ Pandas โดยใช้ฟังก์ชัน Apply()

แกนแถวหรือคอลัมน์ของ data frame ถูกใช้โดยเมธอด apply() เพื่อใช้งานฟังก์ชัน เราสามารถสร้างฟังก์ชันที่กำหนดขึ้นเองและใช้ใน data frame ของเราในแพนด้า จะประกอบด้วยเงื่อนไข if-else มาสร้าง data frame ของเรากันก่อน จากนั้นเราจะสร้างฟังก์ชันที่เราจะใช้คำสั่ง if-else เพื่อสร้างผลลัพธ์ ในการสร้าง data frame เราจะนำเข้าโมดูลของแพนด้าก่อน จากนั้นเราจะส่งพจนานุกรมภายในเมธอด pd.DataFrame()

อย่างที่เห็น กรอบข้อมูลของเราประกอบด้วยสองคอลัมน์ 'A' ที่เก็บค่าตัวเลข [23, 35, 64, 74, 85] และ 'B' ด้วยค่า [45, 34, 61, 89, 27] ตอนนี้เราจะสร้างฟังก์ชันที่จะกำหนดว่าค่าใดที่มากกว่าระหว่างทั้งสองคอลัมน์ในแต่ละแถวของกรอบข้อมูลของเรา

คุณสามารถใช้ฟังก์ชัน Python lambda “pandas.js” DataFrame.apply()” เพื่อเรียกใช้นิพจน์ ใน Python ฟังก์ชันแลมบ์ดาเป็นฟังก์ชันนิรนามแบบย่อที่ยอมรับอาร์กิวเมนต์จำนวนเท่าใดก็ได้และดำเนินการนิพจน์ ในสคริปต์ด้านบน เราได้สร้างคำสั่งเงื่อนไขที่จะเปรียบเทียบค่าของทั้งสองคอลัมน์และเก็บผลลัพธ์ไว้ในคอลัมน์ 'การเปรียบเทียบ' ใหม่ หากค่าของคอลัมน์ 'A' น้อยกว่าค่าของคอลัมน์ 'B' ค่าของคอลัมน์ 'A' จะส่งกลับค่า 'B มากกว่า' หากเงื่อนไขไม่เป็นที่พอใจ มันจะส่งคืน “A มากกว่า”

ตัวอย่าง # 4:

มาลองใช้ตัวอย่างอื่นโดยใช้คำสั่ง if-else ภายในฟังก์ชัน apply() กับ data frame อื่น

สมมติว่า data frame ของเรากำลังจัดเก็บบันทึกของพนักงานของบริษัทบางแห่ง คอลัมน์ 'emp' เก็บชื่อพนักงาน ['Franky', 'Harry', 'Luke', 'Peter', 'Andrew'] ในขณะที่คอลัมน์ 'salary' เก็บเงินเดือนของพนักงานแต่ละคน [1350, 1000, 900 , 1200, 980] ในกรอบข้อมูล 'df' ตอนนี้เราจะสร้างคำสั่ง if-else โดยใช้เมธอด apply()

เงื่อนไขข้างต้นจะตรวจสอบแต่ละค่าในคอลัมน์ 'เงินเดือน' และเพิ่ม 200 ให้กับเงินเดือนของพนักงานที่มูลค่าเงินเดือนน้อยกว่าหรือเท่ากับ 1,000 เราได้เก็บค่าที่ส่งคืนจากฟังก์ชัน apply() ไว้ในคอลัมน์ใหม่ ' เพิ่มขึ้น' มาดูผลลัพธ์จากสคริปต์ด้านบนกัน

อย่างที่คุณเห็น ฟังก์ชันได้เพิ่ม 200 ให้กับค่าที่น้อยกว่าหรือเท่ากับ 100 สำเร็จแล้ว ค่าที่มากกว่า 1,000 ยังคงไม่เปลี่ยนแปลง

บทสรุป:

ในบทช่วยสอนนี้ เราเห็นว่าเมื่อเงื่อนไขเป็นที่น่าพอใจ คำสั่งประเภทนี้ เรียกว่าคำสั่ง case จะส่งกลับค่า เราได้เห็นแล้วว่าคุณสามารถสร้างคำสั่ง case เพื่อดำเนินการหรือภารกิจที่จำเป็นได้อย่างไร ในบทช่วยสอนนี้ เราได้ใช้ฟังก์ชัน np.where() และฟังก์ชัน apply() เพื่อสร้างคำสั่ง case เราได้นำตัวอย่างบางส่วนมาใช้เพื่อสอนวิธีใช้คำสั่ง case ของ pandas โดยใช้ฟังก์ชัน where() และวิธีใช้ฟังก์ชัน apply() เพื่อสร้างคำสั่ง case