ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
Pandas เป็นไลบรารี Python ที่ใช้กันอย่างแพร่หลายสำหรับการจัดการและวิเคราะห์ข้อมูล ฟังก์ชันสำคัญอย่างหนึ่งที่ pandas สามารถให้คุณได้คือความสามารถในการแก้ไขโครงสร้างของชุดข้อมูล โดยเฉพาะอย่างยิ่ง การวางดัชนีใน DataFrame เป็นการดำเนินการที่สำคัญเมื่อทำงานกับชุดข้อมูล ช่วยให้คุณสามารถลบแถวหรือคอลัมน์ที่ไม่ต้องการออกจากข้อมูลได้
หากต้องการปล่อยดัชนีด้วยหมีแพนด้า คุณสามารถใช้เมธอด .drop() และ .reset_index() เมธอด .drop() ช่วยให้คุณลบแถวหรือคอลัมน์ที่ต้องการได้ ในทางกลับกัน เมธอด .reset_index() ช่วยให้คุณสามารถลบดัชนีและรีเซ็ตเป็น RangeIndex เริ่มต้นได้
ในบทความนี้ เราจะพูดถึงการใช้เมธอดเหล่านี้เพื่อปล่อยดัชนีใน DataFrames ของหมีแพนด้า เราจะดูตัวอย่างต่างๆ เพื่อสาธิตวิธีการจัดการโครงสร้างของชุดข้อมูลอย่างมีประสิทธิภาพเพื่อให้เหมาะกับความต้องการในการวิเคราะห์ที่แตกต่างกัน จากตัวอย่างเหล่านี้ คุณจะได้รับความเข้าใจที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับวิธีการใช้ไลบรารีแพนด้าสำหรับการจัดการข้อมูล
เข้าเรื่องกันเลย!
สารบัญ
ทำความเข้าใจกับ Pandas Drop Index
ก่อนที่เราจะดำดิ่งลงไปในการวางดัชนีด้วยหมีแพนด้า สิ่งสำคัญคือคุณต้องเข้าใจว่า DataFrame ของหมีแพนด้าคืออะไร นอกจากนี้ คุณควรทำความคุ้นเคยกับแนวคิดของดัชนีและคอลัมน์ใน DataFrame แพนด้า
ในส่วนนี้ เราจะครอบคลุมพื้นฐานของ DataFrame, ดัชนี และคอลัมน์แพนด้า จากนั้นเราจะดูตัวอย่างการวางดัชนีโดยใช้หมีแพนด้า
1. Pandas Dataframe คืออะไร
Pandas เป็นไลบรารี่ Python แบบโอเพ่นซอร์สที่มีการจัดการและวิเคราะห์ข้อมูลประสิทธิภาพสูง โครงสร้างข้อมูลที่สำคัญอย่างหนึ่งคือDataFrame
DataFrame แพนด้าเป็นโครงสร้างข้อมูลสองมิติที่มีแกนกำกับ (แถวและคอลัมน์) คุณสามารถคิดว่า DataFrame เป็นตัวแทนของวัตถุ Pythonic ของตาราง SQL หรือสเปรดชีต Excel
ต่อไปนี้เป็น DataFrame แพนด้าทั่วไป:
2. ดัชนีและคอลัมน์คืออะไร?
ใน DataFrame แพนด้าดัชนีทำหน้าที่เป็น 'ที่อยู่' สำหรับจุดข้อมูล เป็นวิธีการเข้าถึงและจัดระเบียบข้อมูลทั่วทั้ง DataFrame อาจเป็นได้ทั้งลำดับจำนวนเต็มเริ่มต้นที่กำหนดโดยแพนด้าหรือดัชนีแบบกำหนดเองที่ผู้ใช้กำหนด
คอลัมน์คือตัวแปรที่โฮสต์ข้อมูลประเภทต่างๆ ใน DataFrame โดยพื้นฐานแล้วแต่ละคอลัมน์จะเป็นชุดข้อมูล สามารถเก็บประเภทข้อมูลที่หลากหลาย เช่น จำนวนเต็ม ทศนิยม หรือสตริง ป้ายกำกับของคอลัมน์ ซึ่งโดยทั่วไปเรียกว่าชื่อคอลัมน์ จะระบุชุดข้อมูลนี้
ใน DataFrame แพนด้า การจัดการข้อมูลมักจะเกี่ยวข้องกับการทำงานกับป้ายชื่อแถว (ดัชนี) หรือป้ายชื่อคอลัมน์
การดำเนินการทั่วไปบางอย่างที่คุณสามารถทำได้ด้วย DataFrame แบบหลายดัชนี ได้แก่ การเลือก การเปลี่ยนชื่อ และการวางแถวหรือคอลัมน์ตามป้ายกำกับ
3. วิธีวางคอลัมน์ดัชนีด้วยหมีแพนด้า
ในหมีแพนด้า คุณสามารถใช้เมธอด DataFrame reset_index()เพื่อวางและรีเซ็ตดัชนี
สมมติว่าเรามี DataFrame ต่อไปนี้:
ในการลบคอลัมน์ดัชนี เราสามารถใช้รหัสต่อไปนี้:
df.reset_index(drop=True)
หลังจากรันโค้ดนี้ คุณจะได้ตัวอย่างด้านล่าง:
ในผลลัพธ์ คุณจะเห็นว่าดัชนีถูกทิ้งและแทนที่ด้วยค่าดัชนีเดิม
คุณยังสามารถใช้ วิธี ปล่อย ในแพนด้าเพื่อลบป้ายกำกับที่ระบุออกจากแถวหรือคอลัมน์
ไวยากรณ์สำหรับวิธีนี้คือ:
DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
ต่อไปนี้เป็นพารามิเตอร์หลักของ วิธี การดร็อป :
ป้ายกำกับ : ป้ายกำกับที่จะลบ สามารถเป็นได้ทั้งแถวหรือคอลัมน์ขึ้นอยู่กับพารามิเตอร์แกน
แกน : กำหนดว่าจะลงจากแถว ( 0หรือ'ดัชนี' ) หรือคอลัมน์ ( 1หรือ' คอลัมน์ ' )
ดัชนี : ทางเลือกในการระบุaxis= 0 อนุญาตให้ระบุป้ายชื่อแถวที่จะลบ
คอลัมน์ : ทางเลือกอื่นในการระบุaxis =1 อนุญาตให้ระบุป้ายชื่อคอลัมน์ที่จะลบ
inplace : หากตั้งค่าเป็นTrueการดำเนินการจะถูกดำเนินการ หมายความว่า DataFrame เดิมจะถูกแก้ไข หากเป็นFalse (ค่าเริ่มต้น) ระบบจะส่งคืน DataFrame ใหม่พร้อมลบป้ายกำกับที่ระบุ
ข้อผิดพลาด : ควบคุมวิธีจัดการฉลากที่ขาดหายไป หาก'เพิ่ม' (ค่าเริ่มต้น) ข้อผิดพลาดจะเกิดขึ้นเมื่อไม่พบป้ายกำกับ หาก'บังคับ'ป้ายกำกับที่ขาดหายไปจะถูกเพิกเฉย
สมมติว่าเรามี DataFrame ต่อไปนี้:
เราต้องการทิ้งแถวที่มีดัชนี 1 ในการทำเช่นนี้โดยใช้วิธีการดรอป คุณสามารถเขียนโค้ดต่อไปนี้ โดยเริ่มจาก import pandas:
import pandas as pd
# Drop row with index 1
df.drop(1, axis=0)
อาร์กิวเมนต์ axis =0 ของ ฟังก์ชัน drop จะบอกล่ามว่าเรากำลังดำเนินการตามแถว อาร์กิวเมนต์ที่สอง1คือดัชนีแถว มันบอกให้ล่ามปล่อยแถวที่มีดัชนี 1
หลังจากการดำเนินการข้างต้น เราได้รับ DataFrame ต่อไปนี้:
ตอนนี้ สมมติว่าเราต้องการทิ้งคอลัมน์ที่มี Age เป็นส่วนหัวของคอลัมน์จาก DataFrame ของเรา เพื่อให้บรรลุเป้าหมายนี้ เราสามารถเขียนโค้ดต่อไปนี้:
# Drop column 'Age'
df.drop('Age', axis=1)
อาร์กิวเมนต์axis=1บอกล่ามว่าเรากำลังดำเนินการตามคอลัมน์ อาร์กิวเมนต์'อายุ'บอกให้ล่ามวางคอลัมน์ที่มีชื่อ'อายุ'
หลังจากรันโค้ดด้านบนแล้ว คุณจะได้ DataFrame ต่อไปนี้:
วิธีวางหลายแถวและหลายคอลัมน์
ตัวอย่างด้านบนแสดงการทิ้งแถวหรือคอลัมน์เดียว จะทำอย่างไรถ้าคุณต้องการทิ้งหลายแถวหรือหลายคอลัมน์
เพื่อให้บรรลุเป้าหมายนี้ เราจะใช้รหัสเดิมโดยมีการเปลี่ยนแปลงเล็กน้อย แทนที่จะใช้ค่าเดียว เราสามารถจัดเตรียมรายการอาร์กิวเมนต์ให้กับฟังก์ชันดร็อปเพื่อลบหลายแถวและหลายคอลัมน์พร้อมกัน
สมมติว่าฉันต้องการลด 2 แถวแรกใน DataFrame ของเรา เพื่อให้บรรลุเป้าหมายนี้ เราสามารถใช้รหัสต่อไปนี้:
# Dropping first 2 rows by index
df = df.drop([0, 1], axis=0)
ในโค้ดนี้ เรากำลังบอกให้ล่ามปล่อยแถว 0 และ 1 ผลลัพธ์ของโค้ดนี้แสดงไว้ด้านล่าง:
คุณจะเห็นว่าแถว 0 และ 1 ไม่อยู่ใน DataFrame อีกต่อไป
เรามาลดแผนกและคอลัมน์เงินเดือนกันเถอะ ในการทำเช่นนี้ เราสามารถใช้รหัสต่อไปนี้:
# Dropping columns by name
df = df.drop(['Salary', 'Department'], axis=1)
ใน สคริปต์ Python นี้ เรากำลังขอให้ล่ามทิ้งคอลัมน์ที่มีเงินเดือนและแผนกเป็นส่วนหัวของคอลัมน์ ผลลัพธ์ของรหัสนี้ได้รับด้านล่าง:
นี่คือ DataFrame สุดท้ายของเรา โดยรวมแล้ว เราลบสองแถวและสองคอลัมน์ออกจาก DataFrame โดยใช้วิธีวาง
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ MultiIndex ในแพนด้า โปรดดูวิดีโอต่อไปนี้:
วิธีวางแถวและคอลัมน์ด้วย Inplace
ในตัวอย่างก่อนหน้านี้ คุณจะเห็นว่าเราทำการเปลี่ยนแปลง DataFrame ก่อนแล้วจึงบันทึกเป็น DataFrame ใหม่ อย่างไรก็ตาม นี่ไม่ใช่วิธีที่มีประสิทธิภาพในการทิ้งแถวและคอลัมน์
อีกทางเลือกหนึ่งในการวาง แถวและคอลัมน์คือตั้ง ค่าอาร์กิวเมนต์ inplaceของฟังก์ชัน drop เป็นTrue
ด้วยการตั้ง ค่าพารามิเตอร์ inplaceเป็นTrueคุณสามารถแก้ไข DataFrame อย่างถาวรโดยไม่ต้องกำหนดใหม่
สิ่งนี้มีประโยชน์เมื่อต้องจัดการกับ DataFrame ขนาดใหญ่ เนื่องจากสามารถประหยัดหน่วยความจำโดยหลีกเลี่ยงการสร้าง DataFrame ใหม่
ต่อไปนี้คือตัวอย่างการทิ้งแถวและคอลัมน์ด้วยการแทนที่ :
# Dropping rows by index inplace
df.drop(labels=[0, 1], axis=0, inplace=True)
# Dropping columns by name inplace
df.drop(['Salary', 'Department'], axis=1, inplace=True)
ผลลัพธ์ของโค้ดด้านบนแสดงไว้ด้านล่าง:
ที่นี่ คุณจะเห็นว่าเราไม่ได้สร้าง DataFrame ใหม่ แต่ทำการเปลี่ยนแปลงกับของเดิม
วิธีทำงานกับดัชนีใน Pandas
ในส่วนนี้ เราจะพูดถึงวิธีการทำงานกับดัชนีในDataFrame แพนด้า เราจะครอบคลุมสองส่วนย่อยต่อไปนี้:
ตั้งค่าและรีเซ็ตดัชนี
ID และคอลัมน์ดัชนี
1. วิธีตั้งค่าและรีเซ็ตดัชนี
สิ่งสำคัญประการหนึ่งในการทำงานกับหมีแพนด้าคือการทำความเข้าใจวิธีตั้งค่าและรีเซ็ตคอลัมน์ดัชนี ดัชนีเป็นตัวระบุคีย์สำหรับแต่ละแถว และมีบางกรณีที่คุณอาจต้องการเปลี่ยนแปลง
การตั้งค่าดัชนีใหม่
หากต้องการตั้งค่าดัชนีใหม่ คุณสามารถใช้เมธอดset_index() ไวยากรณ์ของset_indexแสดงไว้ด้านล่าง:
df.set_index('column_name', inplace=True)
อาร์กิวเมนต์inplace=Trueหมายความว่าเรากำลังทำการเปลี่ยนแปลงกับ DataFrame ที่มีอยู่
เพื่อแสดงให้เห็น เราจะใช้ DataFrame ต่อไปนี้:
สมมติว่าเราต้องการให้คอลัมน์ Name เป็นดัชนีของ DataFrame ของเรา เพื่อให้บรรลุเป้าหมายนี้ เราสามารถใช้รหัส��่อไปนี้:
df.set_index('Name', inplace=True)
สคริปต์ Python นี้จะทำให้Nameเป็นดัชนีของ DataFrame ของเรา ผลลัพธ์ของรหัสนี้ได้รับด้านล่าง:
รีเซ็ตค่าดัชนี
หากต้องการรีเซ็ตดัชนีเป็นรูปแบบเริ่มต้น (เช่นRangeIndexจาก 0 ถึงความยาวของ DataFrame ลบ 1) คุณสามารถใช้เมธอดreset_index()
ไวยากรณ์ของreset_index()แสดงไว้ด้านล่าง:
df.reset_index(drop=True, inplace=True)
เมื่อตั้งค่าdrop=Trueคอลัมน์ดัชนีปัจจุบันจะถูกลบออก ในขณะที่inplace=Trueจะทำให้แน่ใจว่าการเปลี่ยนแปลงมีผลโดยตรงกับ DataFrame โดยไม่ต้องสร้างใหม่
เมื่อเราใช้โค้ดนี้กับ DataFrame ก่อนหน้า เราจะได้ผลลัพธ์ต่อไปนี้:
คุณจะเห็นว่าชื่อ ซึ่งก่อนหน้านี้เคยเป็นดัชนีของเรา ถูกรีเซ็ตเป็นค่าเริ่มต้น
2. การดำเนินการเพิ่มเติมด้วยคอลัมน์ดัชนี
เมื่อคุณนำเข้า DataFrame จากไฟล์ CSV คุณสามารถใช้ พารามิเตอร์ index_colเพื่อระบุคอลัมน์ที่จะใช้เป็นดัชนีของคุณได้
ไวยากรณ์ของindex_colแสดงไว้ด้านล่าง:
df = pd.read_csv('data.csv', index_col='column_name')
นอกจากนี้ หากคุณต้องการส่งออก DataFrame โดยไม่มีคอลัมน์ดัชนี คุณสามารถตั้ง ค่าพารามิเตอร์ ดัชนีเป็นFalse
ไวยากรณ์สำหรับวิธีนี้ได้รับด้านล่าง:
df.to_csv('output.csv', index=False)
ตอนนี้คุณเข้าใจวิธีการดรอปดัชนีแล้ว มาดูวิธีจัดการกับข้อผิดพลาดเมื่อใช้ฟังก์ชันดรอปในหัวข้อถัดไป
วิธีจัดการกับข้อผิดพลาดเมื่อใช้ฟังก์ชัน Drop ใน Pandas
ในส่วนนี้ เราจะสำรวจวิธีจัดการกับข้อผิดพลาดและกรณีพิเศษเมื่อใช้ ฟังก์ชัน ปล่อย ของแพนด้า เพื่อลบคอลัมน์ดัชนีออกจาก DataFrame
โดยเฉพาะอย่างยิ่ง เราจะหารือเกี่ยวกับสิ่งต่อไปนี้:
การจัดการ KeyError
การทำงานกับแถวที่ซ้ำกัน
1. วิธีจัดการ KeyError
เมื่อใช้ ฟังก์ชัน ดรอปในแพนด้า คุณอาจพบ KeyError หากไม่พบดัชนีหรือคอลัมน์ที่ระบุใน DataFrame
เพื่อป้องกันไม่ให้เกิดข้อผิดพลาดนี้ คุณสามารถใช้พารามิเตอร์ข้อผิดพลาด พารามิเตอร์ข้อผิดพลาดมีสองตัวเลือก: 'เพิ่ม' และ 'ละเว้น' ตามค่าเริ่มต้น จะถูกตั้งค่าเป็น 'เพิ่ม' ซึ่งหมายความว่า KeyError จะถูกยกขึ้นหากไม่พบดัชนีหรือคอลัมน์ที่ระบุ
อย่างไรก็ตาม คุณสามารถตั้งค่าเป็น 'ละเว้น' หากคุณต้องการระงับข้อผิดพลาดและดำเนินการโค้ดต่อไป
สมมติว่าเรามี DataFrame ต่อไปนี้ลองปล่อยแถวที่ไม่มีอยู่ใน DataFrame แล้วดูว่าเกิดอะไรขึ้น:
# Attempt to drop a non-existent index, will raise KeyError
# df.drop(5, inplace=True)
สคริปต์ Python จะให้ข้อผิดพลาดต่อไปนี้:
ในการจัดการกับข้อผิดพลาดดังกล่าว ตรวจสอบให้แน่ใจว่าคุณกำลังอ้างอิงถึงแถวที่มีอยู่ในชุดข้อมูล
2. วิธีการทำงานกับแถวที่ซ้ำกัน
เมื่อล้างข้อมูล ภารกิจสำคัญคือการค้นหารายการที่ซ้ำกันและลบออก
การจัดการกับแถวที่ซ้ำกันใน DataFrame สามารถเพิ่มความซับซ้อนเมื่อใช้ฟังก์ชันวาง
ถ้าคุณต้องการปล่อยแถวตามค่าดัชนีที่ซ้ำกัน คุณสามารถใช้ ฟังก์ชัน ที่ซ้ำกันแล้วใช้การทำดัชนีบูลีนเพื่อเลือกเฉพาะแถวที่ไม่ซ้ำกัน
สมมติว่าเรามี DataFrame ต่อไปนี้:
คุณจะเห็นว่าเรามีดัชนีที่ซ้ำกันในชุดข้อมูลของเรา ในการลบรายการที่ซ้ำกัน ก่อนอื่น เราจะระบุค่าที่ซ้ำกันด้วยรหัสต่อไปนี้:
# Find duplicated index values
duplicated_rows = df.index.duplicated(keep='first')
หลังจากนี้ เราจะเลือกเฉพาะแถวที่ไม่ซ้ำกัน และจัดเก็บไว้ใน DataFrame ก่อนหน้าด้วยรหัสต่อไปนี้:
# Select only non-duplicated rows
df = df[~duplicated_rows]
ผลลัพธ์สุดท้ายได้รับด้านล่าง:
ผลลัพธ์สุดท้ายไม่มีแถวที่ซ้ำกันอีกต่อไป
ความคิดสุดท้าย
ในขณะที่คุณดำเนินการด้านวิทยาศาสตร์ข้อมูลและเส้นทางการวิเคราะห์ต่อไป การทำความเข้าใจวิธีจัดการและจัดการข้อมูลเป็นทักษะที่จะพิสูจน์ได้ว่าสำคัญที่สุด
การดำเนินการอย่างเชี่ยวชาญเช่นการวางดัชนีในแพนด้าเป็นส่วนสำคัญของสิ่งนี้ การรู้วิธีรีเซ็ตหรือปล่อยดัชนีถือเป็นก้าวสำคัญในการทำความสะอาด เปลี่ยนแปลง และรับข้อมูลเชิงลึกอันมีค่าจากข้อมูลของคุณ
เมื่อเรียนรู้วิธีวางดัชนี คุณจะสามารถปรับรูปร่าง DataFrames ของคุณใหม่ได้อย่างมีประสิทธิภาพมากขึ้น คุณจะสามารถสร้างชุดข้อมูลที่สะอาดขึ้นซึ่งอ่านและวิเคราะห์ได้ง่ายขึ้น นอกจากนี้ การรีเซ็ตดัชนีอาจมีความสำคัญเมื่อผสานหรือเชื่อมโยง DataFrame หลายตัวเข้าด้วยกัน ซึ่งอาจเกิดความขัดแย้งของดัชนีได้
ความสามารถในการวางดัชนีช่วยให้คุณควบคุมชุดข้อมูลของคุณได้อย่างยืดหยุ่นมากขึ้น!
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates
ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก
บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ
ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น
ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร
เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates
บทช่วยสอนนี้จะหารือเกี่ยวกับแนวคิดของการทำให้แคชข้อมูลเป็นรูปธรรมและวิธีที่สิ่งเหล่านี้ส่งผลต่อประสิทธิภาพของ DAX ในการให้ผลลัพธ์
หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ
เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้