【Python報錯】ValueError: If using all scalar values, you must pass an index
阿新 • • 發佈:2021-06-22
問題:
1、ValueError: If using all scalar values, you must pass an index。意思是:如果使用所有標量值,則必須傳遞索引
2、再看錯誤發生程式碼位置
3、解讀:直接傳入標稱屬性為value的字典需要寫入index,也就是說,需要在建立DataFrame物件時設定index。
原因:這是因為 pandas 的 DataFrame 方法需要傳入一個可迭代的物件(列表,元組,字典等),
解決方案:
給DataFrame 指定 index 引數可解決
其他解決方案:
import pandas as pd #方法一:直接在建立DataFrame時設定index即可dict = {'a':1,'b':2,'c':3} data = pd.DataFrame(dict,index=[0]) print(data) #方法二:通過from_dict函式將value為標稱變數的字典轉換為DataFrame物件 dict = {'a':1,'b':2,'c':3} pd.DataFrame.from_dict(dict,orient='index').T print(data) #方法三:輸入字典時不要讓Value為標稱屬性,把Value轉換為list物件再傳入即可 dict = {'a':[1],'b':[2],'c':[3]} data = pd.DataFrame(dict)print(data) #方法四:直接將key和value取出來,都轉換成list物件 dict = {'a':1,'b':2,'c':3} pd.DataFrame(list(dict.items())) print(data)