首页 > 编程语言 > 详细

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

时间:2021-06-22 22:25:59      阅读:21      评论:0      收藏:0      [点我收藏+]

问题:

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)

 

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

原文:https://www.cnblogs.com/longyi8013/p/14920290.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!