เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ปรับแต่งการนำเข้าข้อมูลด้วย pandas

แพ็กเกจ pandas ช่วยจัดการปัญหาต่าง ๆ ที่มักพบเมื่อนำเข้าข้อมูลในฐานะนักวิทยาศาสตร์ข้อมูล ไม่ว่าจะเป็นคอมเมนต์ในไฟล์ flat file บรรทัดว่าง หรือค่าที่หายไป (NA หรือ NaN) เพื่อปิดท้ายบทนี้ จะได้นำเข้าชุดข้อมูล Titanic ที่มีความผิดพลาดอยู่บ้างในชื่อ titanic_corrupt.txt ซึ่งมีคอมเมนต์หลังอักขระ '#' และคั่นด้วย tab

อาร์กิวเมนต์สำคัญของ pd.read_csv() ได้แก่:

  • sep กำหนด delimiter ที่ใช้คั่นข้อมูล
    • ใช้ ',' สำหรับการคั่นด้วยเครื่องหมายจุลภาค
    • ใช้ '\t' สำหรับการคั่นด้วย tab
  • comment รับอักขระที่บ่งบอกว่าข้อความหลังจากนั้นคือคอมเมนต์ ซึ่งจะถูกละเว้นทั้งหมด
  • na_values รับลิสต์ของสตริงที่ต้องการให้ระบุเป็น NA/NaN โดยค่าเริ่มต้นบางค่าถูกรู้จักอยู่แล้ว การระบุอาร์กิวเมนต์นี้จะเพิ่มค่าที่ต้องการให้ครอบคลุมมากขึ้น

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python เบื้องต้น: การนำเข้าข้อมูล

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดอาร์กิวเมนต์ของ pd.read_csv() ให้ครบถ้วนเพื่อนำเข้า titanic_corrupt.txt ด้วย pandas อย่างถูกต้อง:
    • sep กำหนด delimiter ที่ใช้ และทำงานเช่นเดียวกับอาร์กิวเมนต์ delimiter ของ np.loadtxt() โดยไฟล์ที่นำเข้านี้คั่นด้วย tab
    • comment รับอักขระที่ระบุว่าข้อความหลังจากนั้นคือคอมเมนต์ ซึ่งในกรณีนี้คือ '#'
    • na_values รับลิสต์ของสตริงที่ต้องการให้ถือเป็น NA/NaN ในกรณีนี้คือสตริง 'Nothing'
  • รันโค้ดส่วนที่เหลือเพื่อแสดง head ของ DataFrame ที่ได้ และพลอตฮิสโตแกรมของ 'Age' ของผู้โดยสารบนเรือไททานิก

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import matplotlib.pyplot as plt
import matplotlib.pyplot as plt

# Assign filename: file
file = 'titanic_corrupt.txt'

# Import file: data
data = pd.read_csv(file, sep='____', comment='____', na_values=[____])

# Print the head of the DataFrame
print(data.head())

# Plot 'Age' variable in a histogram
pd.DataFrame.hist(data[['Age']])
plt.xlabel('Age (years)')
plt.ylabel('count')
plt.show()
แก้ไขและรันโค้ด