การอ่านไฟล์ CSV และเลือกเฉพาะคอลัมน์ที่ต้องการใน Pandas ทำได้ง่ายด้วยพารามิเตอร์ usecols ในฟังก์ชัน pd.read_csv() ช่วยประหยัดหน่วยความจำและเวลาเมื่อไฟล์ใหญ่
ขั้นตอนการทำงาน
- นำเข้า
pandasและmatplotlib.pyplot - กำหนดรายการชื่อคอลัมน์ที่ต้องการ:
columns = ["Name", "Marks"] - อ่าน CSV ด้วย
pd.read_csv("input.csv", usecols=columns) - แสดงข้อมูลที่ดึงมาได้ด้วย
print(df) - พลอตข้อมูลด้วย
plt.plot(df.Name, df.Marks) - แสดงผลด้วย
plt.show()
ตัวอย่างโค้ด
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
columns = ["Name", "Marks"]
df = pd.read_csv("input.csv", usecols=columns)
print("Contents in csv file:\n", df)
plt.plot(df.Name, df.Marks)
plt.show()
ข้อมูลตัวอย่างใน CSV (input.csv)
| Name | Marks |
|---|---|
| Arun | 98 |
| Shyam | 75 |
| Govind | 54 |
| Javed | 92 |
| Raju | 87 |
ตัวเลือก usecols อื่นๆ
usecols=[0, 2]- เลือกด้วย index คอลัมน์ (เริ่ม 0)usecols=lambda x: x.startswith('Sales')- ใช้ฟังก์ชันกรองชื่อคอลัมน์usecols=["Name", "Age", "Salary"]- เลือกหลายคอลัมน์
การแปลงเป็น List
# แปลงคอลัมน์เดียวเป็น list
names_list = df["Name"].tolist()
marks_list = df["Marks"].tolist()
# แปลงทั้ง DataFrame เป็น list of lists
data_list = df.values.tolist()
# แปลงเป็น list of dicts (records)
records = df.to_dict('records')
การประยุกต์ใช้
เหมาะสำหรับการประมวลผลข้อมูลขนาดใหญ่ (Large CSV) การทำ ETL (Extract, Transform, Load) การเตรียมข้อมูลสำหรับ Machine Learning หรือการสร้างรายงานจากฐานข้อมูล