1. 程式人生 > 其它 >【Python報錯】ValueError: If using all scalar values, you must pass an index

【Python報錯】ValueError: If using all scalar values, you must pass an index

問題:

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)