用 Python 编写一个程序,将数据框的行打印为有序字典,其中包含元组值列表。


假设您有一个数据框,并且有序字典的结果以及元组列表如下所示:

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()` 函数访问所有行,并在名为 'stud' 的集合中进行访问。

for row in df.itertuples(name='stud')
  • 使用 `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)])

更新时间: 2021 年 2 月 25 日

79 次查看

启动您的 职业生涯

通过完成课程获得认证。

开始学习
广告