我有一个df如下:
Store Spend_1 Spend_2 Spend_3 Spend_4 Variance_1 Variance_2 Variance_3 Variance_4
0 1 200 230 189 200 -14 16 -6 18
1 2 224 104 240 203 -17 -11 17 -18
2 3 220 168 131 210 10 -9 12 19
3 4 143 187 139 188 -1 -17 -20 -9
4 5 179 121 162 131 6 -25 5 20
5 6 208 158 140 191 16 -14 -22 -6
我正在尝试对列名应用自定义排序,以便对其进行排序:
Store Spend_1 Variance_1 Spend_2 Variance_2 Spend_3 Variance_3 Spend_4 Variance_4
0 1 200 -14 230 16 189 -6 200 18
1 2 224 -17 104 -11 240 17 203 -18
2 3 220 10 168 -9 131 12 210 19
3 4 143 -1 187 -17 139 -20 188 -9
4 5 179 6 121 -25 162 5 131 20
5 6 208 16 158 -14 140 -22 191 -6
我尝试过简单的sorted
,但显然这是按字母顺序应用的,忽略了末尾的整数。你知道吗
我把enumerating
当作number
,cols
把字符串改成int,应用排序,然后使用iloc
中的数字,但我不确定如何用这种方式应用自定义排序。你知道吗
有人能帮忙吗?你知道吗
想法是使用
key
parametr by 2 values—将_
之后的值转换为inetegr
s,第一个值在_
之前,但解决方案是应用于所有没有带df.columns[1:]
的第一列的列,因此最后一个值由df.columns[:1].tolist()
添加到第一列:我能想到的最简单的方法就是定义自己的排序键
您可以将
key
t传递给sorted
来执行您自己的自定义排序:其思想是把最后的整数放在第一位。如果你能达到两位数,这个数字就会崩溃。你知道吗
相关问题 更多 >
编程相关推荐