我有一个 Pandas 框架。当我打印列(如下所示)时,结果发现我的列乱序。有没有办法只对前 30 列进行排序,以便它们按顺序排列 (30,60,90...900)?
[in] df.columns
[out] Index(['120', '150', '180', '210', '240', '270', '30', '300', '330', '360',
'390', '420', '450', '480', '510', '540', '570', '60', '600', '630',
'660', '690', '720', '750', '780', '810', '840', '870', '90', '900',
'Item', 'Price', 'Size', 'Time', 'Type', 'Unnamed: 0'],
dtype='object')
固定框架如下:
[out] Index(['30','60','90,'120', '150', '180', '210', '240', '270','300', '330', '360',
'390', '420', '450', '480', '510', '540', '570','600', '630',
'660', '690', '720', '750', '780', '810', '840', '870','900',
'Item', 'Price', 'Size', 'Time', 'Type', 'Unnamed: 0'],
dtype='object')
最佳答案
如果您知道列将以 30 的倍数命名为 30 到 900,则可以像这样显式生成:
c = [str(i) for i in range(30, 901, 30)]
然后将其添加到其他列:
c = c + ['Item', 'Price', 'Size', 'Time', 'Type', 'Unnamed: 0']
然后您应该能够以 df[c]
的形式访问它
关于python - Pandas - 度假村柱位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44404883/