用 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 次檢視

啟動您的 職業生涯

透過完成課程獲得認證。

開始學習
廣告