2024-10-03 23:30:28 发布
网友
最近更新到pandas 0.17.0,我正在尝试按字母顺序排列数据框中的列。在
以下是当前列标签:
['UX2', 'RHO1', 'RHO3', 'RHO2', 'RHO4', 'UX1', 'UX4', 'UX3']
我希望他们这样:
我能做到这一点的唯一方法是遵循3年前的这一点:How to change the order of DataFrame columns?
在0.17.0中是否有一种内置的方法来实现这一点?在
按所需顺序创建列标签列表。在
cols = ['RHO1', 'RHO2', 'RHO3', 'RHO4', 'UX1', 'UX2', 'UX3', 'UX4']
然后将此顺序分配给数据帧df:
你可以把它们分类然后放回去。假设你有这个:
df = pd.DataFrame() for i, n in enumerate(['UX2', 'RHO1', 'RHO3', 'RHO2', 'RHO4', 'UX1', 'UX4', 'UX3']): df[n] = [i]
看起来像这样:
这样做:
df = df[ sorted(df.columns)]
你应该看到:
df RHO1 RHO2 RHO3 RHO4 UX1 UX2 UX3 UX4 0 1 3 2 4 5 0 7 6
要在这里按字母顺序对列进行排序,只需使用sort_index:
sort_index
df.sort_index(axis=1)
该方法返回一个重新编制索引的DataFrame,其中列的顺序正确。在
这假设所有的列标签都是字符串(它不适用于字符串和整数的混合)。如果不是,那么您可能需要向reindex方法传递一个显式的顺序。在
reindex
按所需顺序创建列标签列表。在
然后将此顺序分配给数据帧df:
^{pr2}$你可以把它们分类然后放回去。假设你有这个:
看起来像这样:
^{pr2}$这样做:
你应该看到:
要在这里按字母顺序对列进行排序,只需使用
sort_index
:该方法返回一个重新编制索引的DataFrame,其中列的顺序正确。在
这假设所有的列标签都是字符串(它不适用于字符串和整数的混合)。如果不是,那么您可能需要向
reindex
方法传递一个显式的顺序。在相关问题 更多 >
编程相关推荐