我试着按字母顺序排列不同的栏目。 我使用了以下代码:
def CodeRegex (df):
dfRegex = df.filter(regex="x[1-9][0-9]?|p")
dfRegex = dfRegex.reindex_axis(sorted(dfRegex.columns), axis=1)
return dfRegex
我的问题是我的头看起来像“x1”,“x2,…”,“x10”,“x11”,…,“x20”,“x21”。。。在
当我订购时,结果是: “x1”,“x10”,“x11”,…,“x2”,“x20”,“x21”。。。在
你知道我能做些什么来改变订单吗? 我不能写“x01”,“x02”。在
谢谢你!在
排序失败的原因是因为列名是字符串,所以它们将按字符串排序。因此,例如,
'x20'
将在'x3'
之前排序。在您可以通过提取整数分量进行数字排序。然后通过} 索引:
np.argsort
用^{^{} 返回将对数组排序的原始
^{pr2}$pd.Index
对象的索引:有一个问题,你的列是字符串,所以有字典排序。在
使用
sorted
bylambda
函数,将列值转换为integer
s。x[1:]
用于从每个值中删除x
,还应该有值p
,因此如果需要排序列的第一个或最后一个值,可以选择:相关问题 更多 >
编程相关推荐