![](/img/trans.png)
[英]pandas rearrange dataframe to have all values in ascending order per every column independently
[英]Python: Rearrange column order in DataFrame by ascending values
我的DataFrame列是:
df.columns
>>>Index([u'1', u'10', u'120', u'1800', u'30', u'300', u'3600', u'5', u'60', u'600'], dtype='object')
我如何对列进行排序,以使它们具有升序1, 5, 10, 30, 60, 120, 300, 600, 1800, 3600
? 我尝试了这个:df = df.reindex_axis(sorted(df.columns),axis = 1)
但不适用于数字。
干得好:
df.rename(columns=int).sort(axis=1)
rename
需要函数进行转换。
您可以将它们转换为整数,然后进行排序。
In [16]: idx = df.columns
In [17]: df.columns = idx.astype(int)
In [18]: idx.order()
Out[18]: Int64Index([1, 5, 10, 30, 60, 120, 300, 600, 1800, 3600], dtype='int64')
您需要将数据框的列设置为int版本。 然后调用df = df[idx.order()]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.