Python 3.x 熊猫为列名使用变量第2部分

Python 3.x 熊猫为列名使用变量第2部分,python-3.x,pandas,Python 3.x,Pandas,给定以下数据帧: import pandas as pd import numpy as np df = pd.DataFrame({'A':[1,2,3], 'B':[4,5,6], 'C':[7,8,9], 'D':[1,3,5], 'E':[5,3,6], 'F':[7,4,3]}) df

给定以下数据帧:

import pandas as pd
import numpy as np
df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':[7,4,3]})

df

    A   B   C   D   E   F
0   1   4   7   1   5   7
1   2   5   8   3   3   4
2   3   6   9   5   6   3
如何将列名分配给变量以用于引用所述列名

例如,如果我这样做:

cols=['A','B']
cols2=['C','D']
然后我想做这样的事情:

df[cols,'F',cols2]
但结果是:

TypeError: unhashable type: 'list'

我认为您需要将F列添加到列表中:

或:


我认为您需要将F列添加到列表中:

或:

需要给出一个列的列表以供参考

In [48]: df[cols+['F']+cols2]
Out[48]:
   A  B  F  C  D
0  1  4  7  7  1
1  2  5  4  8  3
2  3  6  3  9  5

并且,考虑使用DF.LOC [,CLS+['F'′+COLS2],DF.II[],COLS+['F'′+COLS2]切片。 需要提供一个包含列的列表以供参考

In [48]: df[cols+['F']+cols2]
Out[48]:
   A  B  F  C  D
0  1  4  7  7  1
1  2  5  4  8  3
2  3  6  3  9  5

并且,考虑使用DF.LOC [,CLS+['F'′+COLS2],DF.II[],COLS+['F'′+COLS2]切片。 Python 3解决方案:

In [154]: df[[*cols,'F',*cols2]]
Out[154]:
   A  B  F  C  D
0  1  4  7  7  1
1  2  5  4  8  3
2  3  6  3  9  5
Python 3解决方案:

In [154]: df[[*cols,'F',*cols2]]
Out[154]:
   A  B  F  C  D
0  1  4  7  7  1
1  2  5  4  8  3
2  3  6  3  9  5
也许是打字错误?语法错误:语法无效,或者是我的python 2.7?或者是打字错误?SyntaxError:无效语法,或者可能是我的python 2.7?