Computer >> Máy Tính >  >> Lập trình >> Python

Viết chương trình bằng Python để in các hàng khung dữ liệu dưới dạng orderDict với danh sách nhiều giá trị

Giả sử, bạn có một khung dữ liệu và kết quả cho orderDict với danh sách các bộ giá trị là -

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)])

Giải pháp

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước được đưa ra bên dưới -

  • Xác định khung dữ liệu

  • Đặt vòng lặp for để truy cập tất cả các hàng bằng hàm df.itertuples () bên trong set name =’stud’

for row in df.itertuples(name='stud')
  • Chuyển đổi tất cả các hàng thành orderDict với danh sách các bộ giá trị bằng cách sử dụng hàm row._asdict () và lưu nó dưới dạng dict_row. Cuối cùng in các giá trị,

dict_row = row._asdict()
print(dict_row)

Ví dụ

Hãy kiểm tra đoạn mã sau để hiểu rõ hơn -

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)

Đầu ra

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)])