我有一个数据框,我想按照名称对列进行排序。
我一直尝试使用
1 | 13_1 | 13_10| 13_2 | 2 | 3
9 | 31 | 2 | 1 | 3 | 4
我正在尝试按照以下方式对列进行排序:
1 | 2 | 3 | 13_1 | 13_2 | 13_10
9 | 3 | 4 | 31 | 1 | 2
我一直尝试使用
df.sort_index(axis=1, inplace=True)
来解决这个问题,但结果与我最初的数据框相同。例如:1 | 13_1 | 13_10| 13_2 | 2 | 3
9 | 31 | 2 | 1 | 3 | 4
它似乎将13_1识别为1.31而不是13.1。此外,我尝试将列名从字符串转换为浮点数。然而,这导致将13_1和13_10都视为13.1,从而给我带来了重复的列名。
d = dict(zip(map(int, df.columns), df.columns)); df = df[map(d.get, sorted(map(int, df.columns)))]
- Stef