การนำเข้าข้อมูลหลายประเภท
ไฟล์ seaslug.txt
- มีส่วนหัว (header) เป็นข้อความ
- คั่นด้วย tab
ข้อมูลนี้แสดงเปอร์เซ็นต์ของตัวอ่อนหอยทากทะเลที่เปลี่ยนรูปร่างในช่วงเวลาที่กำหนด อ่านข้อมูลเพิ่มเติมได้ ที่นี่
เนื่องจากไฟล์มีส่วนหัว หากลองนำเข้าโดยตรงด้วย np.loadtxt() Python จะแสดง ValueError และแจ้งว่า could not convert string to float มีสองวิธีในการจัดการกับปัญหานี้ วิธีแรกคือกำหนดอาร์กิวเมนต์ dtype เป็น str (สำหรับ string)
อีกวิธีหนึ่งคือข้ามแถวแรกด้วยอาร์กิวเมนต์ skiprows ตามที่เคยทำมาแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้น: การนำเข้าข้อมูล
คำแนะนำการฝึกหัด
- เติมอาร์กิวเมนต์แรกของ
np.loadtxt()ด้วยfile - รัน
print(data[0])เพื่อพิมพ์สมาชิกตัวแรกของdata - เติมการเรียก
np.loadtxt()ครั้งที่สอง โดยระบุว่าไฟล์ที่นำเข้าคั่นด้วย tab ประเภทข้อมูลเป็นfloatและข้ามแถวแรก - พิมพ์สมาชิกตัวที่ 10 ของ
data_floatโดยเติมคำสั่งprint()ให้สมบูรณ์ โดยใช้คำสั่งprint()ก่อนหน้าเป็นแนวทาง - รันโค้ดส่วนที่เหลือเพื่อแสดงผลข้อมูล
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Assign filename: file
file = 'seaslug.txt'
# Import file: data
data = np.loadtxt(____, delimiter='\t', dtype=str)
# Print the first element of data
print(data[0])
# Import file as floats and skip the first row: data_float
data_float = np.loadtxt(____, delimiter='____', dtype=____, skiprows=____)
# Print the 10th element of data_float
print(____)
# Plot a scatterplot of the data
plt.scatter(data_float[:, 0], data_float[:, 1])
plt.xlabel('time (min.)')
plt.ylabel('percentage of larvae')
plt.show()