ฉันจะอ่านในไฟล์. csv (โดยไม่มีส่วนหัว) ได้อย่างไรและเมื่อฉันต้องการเพียงชุดย่อยของคอลัมน์ (พูดที่ 4 และ 7 จากทั้งหมด 20 คอลัมน์) โดยใช้แพนด้า ฉันดูเหมือนจะทำไม่ได้usecols
ฉันจะอ่านในไฟล์. csv (โดยไม่มีส่วนหัว) ได้อย่างไรและเมื่อฉันต้องการเพียงชุดย่อยของคอลัมน์ (พูดที่ 4 และ 7 จากทั้งหมด 20 คอลัมน์) โดยใช้แพนด้า ฉันดูเหมือนจะทำไม่ได้usecols
คำตอบ:
ในการอ่าน csv ในที่ไม่มีส่วนหัวและเฉพาะคอลัมน์บางคอลัมน์คุณต้องผ่าน params header=None
และusecols=[3,6]
คอลัมน์ที่ 4 และ 7:
df = pd.read_csv(file_path, header=None, usecols=[3,6])
ดูเอกสาร
คำตอบก่อนหน้านี้ได้ดีและถูกต้อง แต่ในความคิดของฉันเพิ่มnames
พารามิเตอร์จะทำให้มันสมบูรณ์แบบและมันควรจะเป็นวิธีที่แนะนำโดยเฉพาะอย่างยิ่งเมื่อ CSV headers
ไม่มี
usecols
และnames
พารามิเตอร์df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'])
หรือใช้header=None
เพื่อบอกคนอย่างชัดเจนว่าcsv
ไม่มีส่วนหัว (อย่างไรก็ตามทั้งสองบรรทัดเหมือนกัน )
df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'], header=None)
เพื่อให้คุณสามารถดึงข้อมูลของคุณโดย
# with `names` parameter
df['colA']
df['colB']
แทน
# without `names` parameter
df[0]
df[1]
จากread_csvเมื่อnames
ถูกส่งผ่านอย่างชัดเจนจากนั้นheader
จะทำงานเหมือนNone
แทนที่จะเป็น0
ดังนั้นจึงสามารถข้ามheader=None
เมื่อnames
มีอยู่ได้
ตรวจสอบให้แน่ใจว่าคุณระบุรหัสผ่านheader=None
และเพิ่มusecols=[3,6]
สำหรับคอลัมน์ที่ 4 และ 7