如何根据多索引列中的第一列对数据框进行排序?
mypivot
url
status 200 301 302 304 404
ip
900.43.91.8 1 1 1 NaN 1
07.167.103.22 18 NaN NaN NaN 1
17.211.102.92 18 NaN NaN NaN 2
17.216.172.5 21 NaN NaN NaN 1
18.151.211.10 19 NaN NaN NaN 2
25.18.235.210 12 NaN NaN NaN NaN
34.139.155.135 733 2 NaN 301 53
11.216.235.175 8 NaN NaN NaN NaN
7.228.106.211 18 NaN NaN NaN 1
2.104.61.135 18 NaN NaN NaN 1
9.58.151.168 2 NaN NaN NaN NaN
6.249.67.53 NaN NaN 1 NaN 2
6.249.67.66 1 2 NaN NaN NaN
6.249.67.79 1 NaN 1 NaN 1
9.37.224.70 1 NaN NaN NaN NaN
6.110.226.29 1 1 1 NaN NaN
IP地址34.139.155.135应位于顶部,因为它具有200状态的最大数量。
我尝试了以下3个语句,但没有一个语句在200状态列上排序。
mypivot.sort()
mypivot.sort(ascending=False)
mypivot.sort(ascending=False , axis=1)
数据类型为:
<class 'pandas.core.frame.DataFrame'>
Index: 16 entries, 900.43.91.8 to 6.110.226.29
Data columns (total 5 columns):
(url, 200) 15 non-null float64
(url, 301) 4 non-null float64
(url, 302) 4 non-null float64
(url, 304) 1 non-null float64
(url, 404) 10 non-null float64
dtypes: float64(5)
以下是带有关卡的列。
In [85]: mypivot.columns
Out[85]:
MultiIndex(levels=[[u'url'], [200, 301, 302, 304, 404]],
labels=[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4]],
names=[None, u'status'])
答案 0 :(得分:0)
mypivot.sort([('url', 200)], ascending=False)