当前位置: 首页 > 知识库问答 >
问题:

基于集合中的值对数据帧中的列进行排序[重复]

邹胜泫
2023-03-14

我有一只这样的熊猫

id v1 v2 v3 v4
1  a  a  b  b 
2  x  f  f  a

我如何根据集合(例如)中的值对其进行排序

设置顺序=('1','3','2','4')

产量

id v1 v3 v2 v4
1  a  b  a  b 
2  x  f  f  a

谢谢

共有2个答案

姬高澹
2023-03-14

试试这个:

cols = ('1','3','2','4')
cols = [f"v{x}" for x in cols]
df[cols]

打印出来:

    v1  v3  v2  v4
0   a   b   a   b
1   x   f   f   a

或者,您可以使用一个列表来表示COL,该列表也是有序的。

俞新翰
2023-03-14

集合没有排序,因此可以像在样本数据中一样使用元组:

tupleorder = ('1','3','2','4')

df1 = df[['id'] + [f'v{x}' for x in tupleorder]]
print (df1)
   id v1 v3 v2 v4
0   1  a  b  a  b
1   2  x  f  f  a
 类似资料: