根据列名称填充Pandas DataFrame来表示另一个DataFrame

c_d*_*vid 5 python pandas

我有一个以下形式的DataFrame:

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

我有一个列名列表,我需要使用它来创建一个新的DataFrame,使用与每个标签对应的第一个DataFrame的列.例如,如果我的列列表是['a','b','b','a','c'],则生成的DataFrame应为:

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

我一直试图找出一种执行此操作的快速方法,因为我正在处理极其庞大的DataFrame,我不认为循环是一个合理的选择.

EdC*_*ica 7

您可以使用列表来选择它们:

In [44]:

cols = ['a', 'b', 'b', 'a', 'c']
df[cols]
Out[44]:
   a  b  b  a  c
0  1  4  4  1  6
1  3  2  2  3  4
2  4  1  1  4  5

[3 rows x 5 columns]
Run Code Online (Sandbox Code Playgroud)

所以不需要循环,一旦你创建了数据帧,df那么使用列名列表只会索引它们并创建你想要的df.