ปรับแต่งการนำเข้าข้อมูลด้วย NumPy
จะทำอย่างไรถ้ามีแถวที่ไม่ต้องการนำเข้า เช่น แถวหัวตาราง? หรือถ้าไฟล์ใช้ตัวคั่นที่ไม่ใช่เครื่องหมายจุลภาค? หรือต้องการนำเข้าเฉพาะบางคอลัมน์?
np.loadtxt() มีอาร์กิวเมนต์หลายตัวที่จะเป็นประโยชน์:
delimiterใช้กำหนดตัวคั่นที่loadtxt()จะรับรู้- ใช้
','สำหรับการคั่นด้วยเครื่องหมายจุลภาค - ใช้
'\t'สำหรับการคั่นด้วย tab
- ใช้
skiprowsใช้ระบุ จำนวนแถว (ไม่ใช่ index) ที่ต้องการข้ามusecolsรับ list ของ index คอลัมน์ที่ต้องการเก็บไว้
ไฟล์ที่จะนำเข้าคือ digits_header.txt ซึ่งมีแถวหัวตารางและคั่นด้วย tab
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้น: การนำเข้าข้อมูล
คำแนะนำการฝึกหัด
- กำหนดอาร์กิวเมนต์ของ
np.loadtxt()ให้ครบ โดยไฟล์ที่นำเข้าคั่นด้วย tab ต้องการข้ามแถวแรก และนำเข้าเฉพาะคอลัมน์แรกกับคอลัมน์ที่สาม - กำหนดอาร์กิวเมนต์ของ
print()เพื่อแสดงอาร์เรย์ทั้งหมดที่นำเข้ามา
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import numpy
import numpy as np
# Assign the filename: file
file = 'digits_header.txt'
# Load the data: data
data = np.loadtxt(____, delimiter='____', skiprows=____, usecols=[____])
# Print data
print(____)