![](/img/trans.png)
[英]How to reorder columns in a Pandas dataframe based on other dataframe columns
[英]Reorder certain columns in pandas dataframe
我有一个数据框,按以下顺序排列:
'2','4','9','A','1','B','C'
我希望前3列是ABC,但其余的都没有关系。
输出:
'A','B','C','3','2','9'... and so on
这可能吗?
(有100列,所以我不能将它们全部放在列表中
您可以尝试像这样重新排序:
first_cols = ['A','B','C']
last_cols = [col for col in df.columns if col not in first_cols]
df = df[first_cols+last_cols]
cols = ['2','4','9','A','1','B','C']
df = pd.DataFrame(1, range(3), cols)
df
2 4 9 A 1 B C
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
2 1 1 1 1 1 1 1
key
sorted
key = lambda x: (x != 'A', x != 'B', x != 'C')
df[sorted(df, key=key)]
A B C 2 4 9 1
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
2 1 1 1 1 1 1 1
更适合较长的第一列成员
first_cols = ['A', 'B', 'C']
key = lambda x: tuple(y != x for y in first_cols)
df[sorted(df, key=key)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.