问题:想要将字典直接转为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(四种解决方案)