สมมติว่าคุณมี dataframe และผลลัพธ์สำหรับ orderDict พร้อมรายการ tuples คือ -
OrderedDict([('Index', 0), ('Name', 'Raj'), ('Age', 13), ('City', 'Chennai'), ('Mark', 80)]) OrderedDict([('Index', 1), ('Name', 'Ravi'), ('Age', 12), ('City', 'Delhi'), ('Mark', 90)]) OrderedDict([('Index', 2), ('Name', 'Ram'), ('Age', 13), ('City', 'Chennai'), ('Mark', 95)])
วิธีแก้ปัญหา
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนด้านล่าง -
-
กำหนดดาต้าเฟรม
-
ตั้งค่าให้วนซ้ำเพื่อเข้าถึงแถวทั้งหมดโดยใช้ฟังก์ชัน df.itertuples() ภายใน set name='stud'
for row in df.itertuples(name='stud')
-
แปลงแถวทั้งหมดเป็น orderDict ด้วยรายการสิ่งอันดับโดยใช้ฟังก์ชัน rows._asdict() และบันทึกเป็น dict_row สุดท้ายพิมพ์ค่า
dict_row = row._asdict() print(dict_row)
ตัวอย่าง
มาตรวจสอบรหัสต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
import pandas as pd Students = [('Raj', 13, 'Chennai', 80) , ('Ravi', 12, 'Delhi' , 90) , ('Ram', 13, 'Chennai', 95)] df = pd.DataFrame(Students, columns=['Name', 'Age', 'City', 'Mark']) print("DataFrame is:\n",df) for row in df.itertuples(name='stud'): dict_row = row._asdict() print(dict_row)
ผลลัพธ์
DataFrame is: Name Age City Mark 0 Raj 13 Chennai 80 1 Ravi 12 Delhi 90 2 Ram 13 Chennai 95 OrderedDict([('Index', 0), ('Name', 'Raj'), ('Age', 13), ('City', 'Chennai'), ('Mark', 80)]) OrderedDict([('Index', 1), ('Name', 'Ravi'), ('Age', 12), ('City', 'Delhi'), ('Mark', 90)]) OrderedDict([('Index', 2), ('Name', 'Ram'), ('Age', 13), ('City', 'Chennai'), ('Mark', 95)])