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

สร้าง Subset DataFrame ด้วย iloc() เลือกตามตำแหน่ง index

แนวคิด

DataFrame.iloc[row_slice, col_slice] เลือกข้อมูลด้วย integer position (ตำแหน่งตัวเลข) ไม่ใช่ label เหมาะสำหรับการ slice ตำแหน่งแถว/คอลัมน์

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

import pandas as pd

df = pd.DataFrame({
    "Product": ["SmartTV", "ChromeCast", "Speaker", "Earphone"],
    "Opening_Stock": [300, 700, 1200, 1500],
    "Closing_Stock": [200, 500, 1000, 900]
})

print("DataFrame:\n", df)

# เลือกแถว 0-1 (2 แถวแรก) และคอลัมน์ 0-1 (2 คอลัมน์แรก)
subset = df.iloc[0:2, 0:2]
print("\niloc[0:2, 0:2] (2 แถวแรก, 2 คอลัมน์แรก):\n", subset)

# เลือกแถวทั้งหมด คอลัมน์ที่ 1 (Opening_Stock)
print("\niloc[:, 1] (คอลัมน์ Opening_Stock):\n", df.iloc[:, 1])

# เลือกแถวสุดท้าย 2 แถว ทุกคอลัมน์
print("\niloc[-2:, :] (2 แถวสุดท้าย):\n", df.iloc[-2:, :])

ผลลัพธ์

DataFrame:
  Closing_Stock  Opening_Stock     Product
0           200            300      SmartTV
1           500            700   ChromeCast
2          1000           1200      Speaker
3           900           1500     Earphone

iloc[0:2, 0:2] (2 แถวแรก, 2 คอลัมน์แรก):
   Closing_Stock  Opening_Stock
0           200            300
1           500            700

iloc[:, 1] (คอลัมน์ Opening_Stock):
0     300
1     700
2    1200
3    1500
Name: Opening_Stock, dtype: int64

iloc[-2:, :] (2 แถวสุดท้าย):
  Closing_Stock  Opening_Stock     Product
2          1000           1200      Speaker
3           900           1500     Earphone

iloc vs loc

คุณสมบัติilocloc
การเข้าถึงInteger positionLabel name
Slice endExclusive (ไม่รวม)Inclusive (รวม)
Boolean arrayรองรับรองรับ