Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas – เลือกแถว (Rows) จาก DataFrame ด้วยตำแหน่งตัวเลข (Integer Location) – iloc

ภาพรวม

ใช้ iloc[] เลือกแถวตามตำแหน่งตัวเลข (0-based index) ไม่ใช่ label

ตัวอย่างโค้ด

import pandas as pd

dataFrame = pd.DataFrame(
    [[10, 15], [20, 25], [30, 35]],
    index=['x', 'y', 'z'],
    columns=['a', 'b']
)

print("DataFrame...\n", dataFrame)

# เลือกด้วย label (loc)
print("\nSelect rows by label (loc['z']):")
print(dataFrame.loc['z'])

# เลือกด้วย integer location (iloc)
print("\nSelect rows by integer location (iloc[1]):")
print(dataFrame.iloc[1])

ผลลัพธ์

DataFrame...
      a   b
x   10  15
y   20  25
z   30  35

Select rows by label (loc['z']):
a    30
b    35
Name: z, dtype: int64

Select rows by integer location (iloc[1]):
a    20
b    25
Name: y, dtype: int64

สรุปความแตกต่าง

การใช้งาน iloc เพิ่มเติม

df.iloc[0]           # แถวแรก
df.iloc[-1]          # แถวสุดท้าย
df.iloc[1:3]         # แถวที่ 1-2 (slice)
df.iloc[[0, 2]]      # แถวที่ 0 และ 2 (fancy indexing)
df.iloc[1, 0]        # แถวที่ 1 คอลัมน์ที่ 0 (ค่าเดียว)
df.iloc[:, 1]        # ทุกแถว คอลัมน์ที่ 1
เมธอดใช้กับตัวอย่าง
loc[]Label (ชื่อ index)df.loc['z']
iloc[]Integer position (0, 1, 2...)df.iloc[1]