我想对大熊猫数据框中的一些列进行排序。这些列在DF的中间,并在最后。它们以“R”开头
columns_list = df.columns.tolist()
columns_list
Out[17]:
['Id', 'Name', 'Surname', 'Radius', 'Ship', 'Country', 'Spacecraft', 'Planet', 'ExtraterrestialSupplier', 'R5', 'R2', 'R1', 'R4', 'R3', 'S3', 'S2', 'S4', 'S1', 'S6', 'S5', 'R5S3', 'R5S2', 'R5S4','R1S4']
我想这样再订购:
['Id', 'Name', 'Surname', 'Radius', 'Ship', 'Country', 'Spacecraft', 'Planet', 'ExtraterrestialSupplier', 'R1', 'R2','R3', 'R4', 'R5', 'S3', 'S2', 'S4', 'S1', 'S6', 'S5', 'R1S4', 'R5S2', 'R5S3','R5S4']
到目前为止,我是手动完成的:
df= df['Id', 'Name', 'Surname', 'Radius', 'Ship', 'Country', 'Spacecraft', 'Planet', 'ExtraterrestialSupplier', 'R1', 'R2','R3', 'R4', 'R5', 'S3', 'S2', 'S4', 'S1', 'S6', 'S5', 'R1S4', 'R5S2', 'R5S3','R5S4']
但是新的输入数据有更多的R列,并且在每个文件中都是不同的
谢谢你的建议
假设非
"R"
和"S"
列名没有改变,这应该是可行的。如果是,我认为您必须做一件regex
的事情来查找要排序的列的名称我把名字按长度排序,然后按字母顺序排序,我想这和你的做法是一样的
这是一个惊人的挑战。我找不到一行,我能找到的最简单的方法是:
相关问题 更多 >
编程相关推荐