我只想通过比较第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
答案 0 :(得分:4)
如果仅需要针对团队列按行对值进行降序排序,请使用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']]