คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
คุณใช้ list comprehension คร่อมการอ่าน csv ทำให้ dfs คุณเป็น list ของ DataFrame ไม่ใช่ DataFrame อันเดียว ต้องรวม DataFrame ด้วยคำสั่ง pandas.concat() ก่อนครับตามนี้
นอกจากนี้เราไม่ควรเขียน for loop ในการประมวลผล dataframe หรือ series ทีละตำแหน่งเอง เพราะคำสั่งของ pandas นั้นจะทำงานกับทั้ง series/df อยู่แล้ว เช่นถ้าจะเปลี่ยน string เวลาให้เป็น datetime ก็ใช้คำสั่ง pandas.to_datetime() แล้วใส่ทั้งคอลัมน์ลงไปเป็นอาร์กิวเมนต์เลย ไม่ต้องวนลูปใส่ที่ละ cell
combined_df = pandas.concat(dfs, ignore_index=True)
นอกจากนี้เราไม่ควรเขียน for loop ในการประมวลผล dataframe หรือ series ทีละตำแหน่งเอง เพราะคำสั่งของ pandas นั้นจะทำงานกับทั้ง series/df อยู่แล้ว เช่นถ้าจะเปลี่ยน string เวลาให้เป็น datetime ก็ใช้คำสั่ง pandas.to_datetime() แล้วใส่ทั้งคอลัมน์ลงไปเป็นอาร์กิวเมนต์เลย ไม่ต้องวนลูปใส่ที่ละ cell
แสดงความคิดเห็น
python csv - list indices must be integers or slices, not str
https://www.img.in.th/image/4ydS5T
อ่านจากไฟล์เดียว
https://www.img.in.th/image/4yjV2q
https://www.img.in.th/image/4yj55g