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、錯誤發生場景:

import pandas as pd
dict = {'a':1,'b':2,'c':3}
data = pd.DataFrame(dict)
1
2
3
2、錯誤原因:

直接傳入標稱屬性為value的字典需要寫入index,也就是說,需要在建立DataFrame物件時設定index。

3、解決方案:

通過字典來建立DataFrame物件是很常見的需求,但是針對不同的物件形式,可能會有不同的寫法。看程式碼,以下這四種方法都是可以修正這個錯誤,而且產生相同的正確結果,具體使用哪種方法根據自己的需求來選擇就好。

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)
————————————————
版權宣告:本文為CSDN博主「小白白白又白cdllp」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/weixin_39750084/article/details/81429037