如何通过比较两列对数据框进行排序

丹普拉托

我只想通过比较团队1和团队2来对它们进行排序。

       Team 1       Team 2      Winner       Ground
0   Australia      England   Australia    Melbourne
1     England    Australia    England    Manchester
2   Australia      England   Australia         Lord
3     England    Australia    England    Birmingham
4 New Zealand    Australia  Australia       Dunedin
5   Australia  New Zealand  Australia  Christchurch
6       India      England    England         Leeds
7     England        India    England      The Oval

经过比较和排序后,它将像:

       Team 1      Team 2      Winner        Ground
0     England   Australia   Australia     Melbourne
1     England   Australia     England    Manchester
2     England   Australia   Australia          Lord
3     England   Australia     England    Birmingham
4 New Zealand   Australia   Australia       Dunedin
5 New Zealand   Australia   Australia  Christchurch
6       India     England     England         Leeds
7       India     England     England      The Oval
耶斯列尔

如果需要仅对团队列按降序对每行进行排序,请使用numpy.sort

df[['Team 1','Team 2']] = np.sort(df[['Team 1','Team 2']], axis=1)[:, ::-1]
print (df)
        Team 1     Team 2     Winner        Ground
0      England  Australia  Australia     Melbourne
1      England  Australia    England    Manchester
2      England  Australia  Australia          Lord
3      England  Australia    England    Birmingham
4  New Zealand  Australia  Australia       Dunedin
5  New Zealand  Australia  Australia  Christchurch
6        India    England    England         Leeds
7        India    England    England      The Oval

详细资料

首先按升序排序:

print (np.sort(df[['Team 1','Team 2']], axis=1))
[['Australia' 'England']
 ['Australia' 'England']
 ['Australia' 'England']
 ['Australia' 'England']
 ['Australia' 'New Zealand']
 ['Australia' 'New Zealand']
 ['England' 'India']
 ['England' 'India']]

然后通过索引交换“列”:

print (np.sort(df[['Team 1','Team 2']], axis=1)[:, ::-1])
[['England' 'Australia']
 ['England' 'Australia']
 ['England' 'Australia']
 ['England' 'Australia']
 ['New Zealand' 'Australia']
 ['New Zealand' 'Australia']
 ['India' 'England']
 ['India' 'England']]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章