【发布时间】:2013-09-05 22:55:50
【问题描述】:
有没有办法以用户定义的方式仅对列表的某些元素进行排序?
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(5, 6), columns=['x','a','c','y','b','z'])
我想以前 3 列为 [x, y, z] 的方式对 df 的列进行排序(按此顺序),其余列的放置位置无关紧要。
对于这个例子,我可以手动完成,但随着列表变大,使用更合适的方法会很方便。
我曾想过使用l = df_r.columns.tolist(),但即使只有一个列表,我也无法弄清楚如何使用它...
【问题讨论】:
-
随着列表变大,您希望行为是什么?也就是说,您如何决定哪些列应该放在最前面?
-
@BrenBarn:无论列表有多大,前 3 列都应该是 [x, y, z]
标签: python sorting pandas dataframe