Python 按行排序数据帧

Python 按行排序数据帧,python,pandas,Python,Pandas,假设我有以下数据帧 C1 C2 John 4 3 Bob 5 7 Mary 6 5 Carl 5 6 James 4 3 我如何订购数据帧,使其具有: 卡尔、玛丽、鲍勃、约翰、詹姆斯 以有效的方式 这是一种任意排序,我可能将名称存储在变量orderedNames中定义您的排序 arbitrary_ordering = ['Carl', 'Mary', 'Bob', 'John', 'James'] df.iloc[df.index.to_serie

假设我有以下数据帧

      C1  C2
John  4   3
Bob   5   7
Mary  6   5
Carl  5   6
James 4   3
我如何订购数据帧,使其具有:

卡尔、玛丽、鲍勃、约翰、詹姆斯

以有效的方式

这是一种任意排序,我可能将名称存储在变量orderedNames中定义您的排序

arbitrary_ordering = ['Carl', 'Mary', 'Bob', 'John', 'James']
df.iloc[df.index.to_series().map(arbitrary_ordering.index)]
选项1
loc

选项2
reindex

选项3
reindex\u轴

全部收益

       C1  C2
Carl    5   6
Mary    6   5
Bob     5   7
John    4   3
James   4   3

备选方案1

arbitrary_ordering = ['Carl', 'Mary', 'Bob', 'John', 'James']
df.iloc[df.index.to_series().map(arbitrary_ordering.index)]
备选方案2
pd.category


时间测试

arbitrary_ordering = ['Carl', 'Mary', 'Bob', 'John', 'James']
df.iloc[df.index.to_series().map(arbitrary_ordering.index)]

定义您的订单

arbitrary_ordering = ['Carl', 'Mary', 'Bob', 'John', 'James']
df.iloc[df.index.to_series().map(arbitrary_ordering.index)]
选项1
loc

选项2
reindex

选项3
reindex\u轴

全部收益

       C1  C2
Carl    5   6
Mary    6   5
Bob     5   7
John    4   3
James   4   3

备选方案1

arbitrary_ordering = ['Carl', 'Mary', 'Bob', 'John', 'James']
df.iloc[df.index.to_series().map(arbitrary_ordering.index)]
备选方案2
pd.category


时间测试

arbitrary_ordering = ['Carl', 'Mary', 'Bob', 'John', 'James']
df.iloc[df.index.to_series().map(arbitrary_ordering.index)]

您可以使用任意方式订购(假设您的数据位于
df

但是,如果要按列的子集对它们进行排序,请使用


或者更高级的是通过自定义键功能进行排序。请参阅此问题:

您可以使用任意方式订购它们(假设您的数据位于
df

但是,如果要按列的子集对它们进行排序,请使用


或者更高级的是通过自定义键功能进行排序。查看此问题:

阅读关于
.sort\u values()
方法或
.sort\u index()
的内容,具体取决于您的目标……这是什么样的排序?武断?如果是,您是否将它们列在列表或类似的集合中?是的,请参阅更新的问题阅读关于
.sort\u values()
方法或
.sort\u index()
的内容,具体取决于您的目标……这是什么样的排序?武断?如果有,您是否将其列在列表或类似集合中?是的,请参阅更新的问题