問題:想要將字典直接轉為DataFrame格式時,除了字典外沒有傳入其他參數時,會報錯 ValueError: If using all scalar values, you must pass an index
import pandas as pd dict_data = {'name':'nxf','age':24} data = pd.DataFrame(dict_data) print(data)
錯誤原因:直接將標稱屬性為value的字典轉成dataframe時,需要設定index
解決方法:
(1)直接在創建DataFrame時設置index
import pandas as pd dict_data = {'name':'nxf','age':24} data = pd.DataFrame(dict_data,index=[0]) print(data)
(2)通過from_dict函數將value為標稱變量的字典轉換為DataFrame對象
dict_data = {'name':'nxf','age':24} data = pd.DataFrame.from_dict(dict_data,orient='index') print(data)
(3)輸入字典時不要讓Value為標稱屬性,把Value轉換為list對象再傳入即可
dict_data = {'name':['nxf'],'age':[24]} data = pd.DataFrame.from_dict(dict_data,orient='index').T print(data)
(4)直接將key和value取出來,都轉換成list對象
dict = {'name':'nxf','age':24} print(list(dict.items())) data = pd.DataFrame(list(dict.items())) print(data)
參考文獻:
【1】Python常見錯誤:ValueError: If using all scalar values, you must pass an index(四種解決方案)