我有一个很大的pandas dataframe -假设有150列,每次代码运行时,它甚至会增长。我正在寻找的是,如何将选定的几个列带到数据框架的前面(我知道它将永远存在)。
oknwwptz1#
您可以使用索引intersection/union:
intersection
union
cols = ['E', 'A', 'B'] out = df[pd.Index(cols).intersection(df.columns).union(df.columns, sort=False)]
字符串如果确定cols只包含有效列:
cols
out = df[pd.Index(cols).union(df.columns, sort=False)]
型输出量:
E A B C D F G H 0 4 0 1 2 3 5 6 7
型使用的输入:
A B C D E F G H 0 0 1 2 3 4 5 6 7
型如果要将列放在前面,但保持其相对原始顺序,则可以选择:
out = df.sort_index(axis=1, key=lambda x: x.isin(cols), ascending=False)
A B E C D F G H 0 0 1 4 2 3 5 6 7
型
1条答案
按热度按时间oknwwptz1#
您可以使用索引
intersection
/union
:字符串
如果确定
cols
只包含有效列:型
输出量:
型
使用的输入:
型
如果要将列放在前面,但保持其相对原始顺序,则可以选择:
型
输出量:
型