当使用字典创建DataFrame时,可能会遇到 "ValueError: If using all scalar values, you must pass an index" 这个错误,如下所示:
from pandas import DataFrame
dict_data = {'co1': 1, 'co2': 2, 'co3': 3}
print(DataFrame(dict_data))
# 输出结果
raise ValueError('If using all scalar values, you must pass')
ValueError: If using all scalar values, you must pass an index
出现这样的错误是由于Pandas期望的数据形式为列表或字典。而上面的代码确传了个标量值。这种情况下还需要传一个index值。
如何解决
传递index参数
from pandas import DataFrame
dict_data = {'co1': 1, 'co2': 2, 'co3': 3}
print(DataFrame(dict_data, index=[0]))
# 输出结果
co1 co2 co3
0 1 2 3
将标量值改为含有索引的值
from pandas import DataFrame
dict_data = {'co1': [1], 'co2': [2], 'co3': [3]}
print(DataFrame(dict_data))
# 输出结果
co1 co2 co3
0 1 2 3