Pandas เป็นไลบรารี Python ที่มีชื่อเสียงและใช้กันอย่างกว้างขวางสำหรับการประมวลผลและวิเคราะห์ข้อมูล ในบทความนี้เราจะเรียนรู้วิธีใช้เมธอด .iloc ซึ่งใช้สำหรับอ่านข้อมูลเฉพาะส่วนจาก DataFrame โดยการกรองทั้งแถวและคอลัมน์ด้วยดัชนีตัวเลข
หลักการทำงานของ .iloc
เมธอด .iloc ประมวลผลข้อมูลโดยใช้ดัชนีที่เป็นจำนวนเต็ม (integer-based indexing) ซึ่งอาจจะเป็นส่วนหนึ่งของชุดข้อมูลเดิมหรือไม่ก็ได้ แถวแรกจะมีดัชนี 0 แถวที่สองคือ 1 ตามลำดับ เช่นเดียวกัน คอลัมน์แรกคือดัชนี 0 คอลัมน์ที่สองคือ 1 และต่อไปเรื่อยๆ
ชุดข้อมูลตัวอย่าง
นี่คือชุดข้อมูลที่เราจะใช้ในการสาธิต (ชุดข้อมูล Iris):
Id SepalLengthCm ... PetalLengthCm PetalWidthCm Iris-setosa-1 5.1 ... 1.4 0.2 Iris-setosa-2 4.9 ... 1.4 0.2 Iris-setosa-3 4.7 ... 1.3 0.2
การเลือกแถวเดี่ยว
เราสามารถเลือกแถวเดี่ยวหรือหลายแถวได้โดยระบุดัชนีตัวเลข ตัวอย่างด้านล่างแสดงการเลือกแถวที่ 0 และแถวที่ 1 แยกกัน
ตัวอย่างโค้ด
import pandas as pd
# สร้าง DataFrame จากไฟล์ CSV
data = pd.read_csv("D:\\Iris_readings.csv")
row0 = data.iloc[0]
row1 = data.iloc[1]
print(row0)
print(row1)
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลดังนี้:
Id Iris-setosa-1 SepalLengthCm 5.1 SepalWidthCm 3.5 PetalLengthCm 1.4 PetalWidthCm 0.2 Name: 0, dtype: object Id Iris-setosa-2 SepalLengthCm 4.9 SepalWidthCm 3 PetalLengthCm 1.4 PetalWidthCm 0.2 Name: 1, dtype: object
การเลือกหลายแถวพร้อมกัน (Slicing)
เราสามารถเลือกหลายแถวพร้อมกันได้โดยใช้ slice notation เช่น 4:8 เพื่อเลือกแถวที่ 4 ถึง 7
ตัวอย่างโค้ด
import pandas as pd
data = pd.read_csv("D:\\Iris_readings.csv")
rows = data.iloc[4:8]
print(rows)
ผลลัพธ์
Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm 4 Iris-setosa-5 5.0 3.6 1.4 0.2 5 Iris-versicolor-51 7.0 3.2 4.7 1.4 6 Iris-versicolor-52 6.4 3.2 4.5 1.5 7 Iris-versicolor-53 6.9 3.1 4.9 1.5
การเลือกทั้งแถวและคอลัมน์
เราสามารถเลือกทั้งแถวและคอลัมน์พร้อมกันได้โดยระบุ slice สำหรับทั้งสองมิติ เช่น data.iloc[4:8, 0:2] จะเลือกแถว 4-7 และคอลัมน์ 0-1
ตัวอย่างโค้ด
import pandas as pd
data = pd.read_csv("D:\\Iris_readings.csv")
rows_columns = data.iloc[4:8, 0:2]
print(rows_columns)
ผลลัพธ์
Id SepalLengthCm 4 Iris-setosa-5 5.0 5 Iris-versicolor-51 7.0 6 Iris-versicolor-52 6.4 7 Iris-versicolor-53 6.9
สรุป: เมธอด .iloc เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการเข้าถึงข้อมูลใน DataFrame ด้วยตำแหน่งตัวเลข เหมาะสำหรับการ slicing และการเลือกข้อมูลแบบเฉพาะเจาะจงทั้งแถวและคอลัมน์