Ale*_*lex 3 python dataframe pandas
我有两个列表,例如:
list_columns = ['a','b','c','d','e','f','g','h','k','l','m','n']
Run Code Online (Sandbox Code Playgroud)
和一系列价值观
list_values = [11,22,33,44,55,66,77,88,99,100, 111, 222]
Run Code Online (Sandbox Code Playgroud)
我想使用list_columns作为列创建Pandas数据帧.
我试过df = pd.DataFrame(list_values, columns=list_columns)
但它不起作用
我收到此错误: ValueError: Shape of passed values is (1, 12), indices imply (12, 12)
数据帧是二维对象.要反映这一点,您需要提供嵌套列表.每个子列表(在本例中是唯一的子列表)表示一行.
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
Run Code Online (Sandbox Code Playgroud)
如果您提供长度大于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
Run Code Online (Sandbox Code Playgroud)
小智 5
如果我正确理解您的问题,只需将 list_values 括在括号中,这样它就是一个列表列表
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]]
pd.DataFrame(list_values, columns=list_columns)
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1608 次 |
| 最近记录: |