python 由m列元组组成的列表 生成表格 不想形成m行, 只想形成1行
list_1 = list(range(3))
list_2 = ['col' + str(i) for i in list_1]
dict_1 = {
key: str(value) for key, value in zip(list_2, [list_1]*3)
}
# pd.DataFrame(dict_1)
# ValueError: If using all scalar values, you must pass an index
这个报错是因为在创建DataFrame时,如果传入的是标量值(scalar values),就需要同时传入一个索引(index)。在你的代码中,dict_1
的值是一个列表,而不是标量值,所以会出现这个错误。
要解决这个问题,你可以将dict_1
的值改为标量值,或者为DataFrame提供一个索引。
pd.DataFrame(dict_1, index=[0]) # 创建3列1行的表格
pd.DataFrame(dict_1, index=list_2) # 创建3列3行的表格
pd.DataFrame.from_dict(dict_1, orient='index').T # 创建1列3行的表格,再转置
# (注意orient默认columns, 改为index)