我有两个列表,例如:
list_columns = ['a','b','c','d','e','f','g','h','k','l','m','n']
和一个值列表
list_values = [11,22,33,44,55,66,77,88,99,100, 111, 222]
我想使用 list_columns 作为列创建一个 Pandas 数据框。
我尝试使用 df = pd.DataFrame(list_values, columns=list_columns)
但它不起作用
我得到这个错误:ValueError: Shape of passed values is (1, 12), indices imply (12, 12)
最佳答案
数据框是一个二维对象。为了反射(reflect)这一点,您需要提供一个嵌套列表。每个子列表(在本例中为唯一子列表)代表一行。
df = pd.DataFrame([list_values], columns=list_columns)
print(df)
# a b c d e f g h k l m n
# 0 11 22 33 44 55 66 77 88 99 100 111 222
如果您提供长度大于 1 的索引,Pandas 会为您广播:
df = pd.DataFrame([list_values], columns=list_columns, index=[0, 1, 2])
print(df)
# a b c d e f g h k l m n
# 0 11 22 33 44 55 66 77 88 99 100 111 222
# 1 11 22 33 44 55 66 77 88 99 100 111 222
# 2 11 22 33 44 55 66 77 88 99 100 111 222
关于python - Dataframe pandas 如何将列表作为列传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54259967/