将列列表而不是行列表传递给 Pandas DataFrame

gho*_*d97 1 python dataframe pandas

我正在尝试创建一个像这样的数据框:

column_names= ["a", "b", "c"]
vals = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

df = pd.DataFrame(vals, columns=column_names)
Run Code Online (Sandbox Code Playgroud)

结果如下 DataFrame:

  a  b  c
0  1  2  3
1  4  5  6
2  7  8  9
Run Code Online (Sandbox Code Playgroud)

我想这就是预期的结果。但是,我正在努力实现这个结果:

  a  b  c
0  1  4  7
1  2  5  8
2  3  6  9
Run Code Online (Sandbox Code Playgroud)

其中每个嵌套列表vals对应于整列而不是一行。

有没有办法在不改变数据传递给构造函数的方式的情况下获取上面的DataFrame?或者甚至是我可以调用来转置 DataFrame 的方法?

Grz*_*ski 5

只是zip它:

df = pd.DataFrame(dict(zip(column_names, vals)))
Run Code Online (Sandbox Code Playgroud)

输出:

   a  b  c
0  1  4  7
1  2  5  8
2  3  6  9
Run Code Online (Sandbox Code Playgroud)