Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนโปรแกรมใน Python เพื่อพิมพ์แถวดาต้าเฟรมเป็น orderDict พร้อมรายการค่าทูเพิล


สมมติว่าคุณมี 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)])