亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pandas怎么實現按照多列排序ascending

發布時間:2022-05-17 13:45:55 來源:億速云 閱讀:255 作者:iii 欄目:開發技術

本篇內容主要講解“pandas怎么實現按照多列排序ascending”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“pandas怎么實現按照多列排序ascending”吧!

pandas按照多列排序ascending

代碼示例:

import pandas as pd
 
#讀取文件
df = pd.read_csv('./TianQi.csv')
#字符串替換和類型轉換
df['最高溫度'] = df['最高溫度'].str.replace('℃','').astype('int32')
df.loc[:,'最低溫度'] = df['最低溫度'].str.replace('℃','').astype('int32')
#排序并獲取最高溫度前5名
print(df.sort_values(by='最高溫度',ascending=False).head())
'''
打印:
            日期  最高溫度  最低溫度      天氣   風向  風級 空氣質量
184   2019/7/4    38    25    晴~多云  西南風  2級    良
206  2019/7/26    37    27       晴  西南風  2級    良
142  2019/5/23    37    21       晴  東南風  2級    良
183   2019/7/3    36    24       晴  東南風  1級    良
204  2019/7/24    36    27  多云~雷陣雨  西南風  2級    良
'''
 
#按照多列排序
print(df.sort_values(by=['最高溫度','最低溫度'],ascending= True).head(10))
'''
打印:
             日期  最高溫度  最低溫度     天氣   風向  風級 空氣質量
363  2019/12/30    -5   -12      晴  西北風  4級    優
364  2019/12/31    -3   -10      晴  西北風  1級    優
42    2019/2/12    -3    -8  小雪~多云  東北風  2級    優
44    2019/2/14    -3    -6  小雪~多云  東南風  2級    良
14    2019/1/15    -2   -10      晴  西北風  3級    良
37     2019/2/7    -2    -7     多云  東北風  3級    優
38     2019/2/8    -1    -7     多云  西南風  2級    優
4      2019/1/5     0    -8     多云  東北風  2級    優
39     2019/2/9     0    -8     多云  東北風  2級    優
40    2019/2/10     0    -8     多云  東南風  1級    優
'''
print(df.sort_values(by=['最高溫度','最低溫度'],ascending= False).head(10))
'''
打印:
           日期  最高溫度  最低溫度      天氣   風向  風級  空氣質量
184   2019/7/4    38    25    晴~多云  西南風  2級     良
206  2019/7/26    37    27       晴  西南風  2級     良
142  2019/5/23    37    21       晴  東南風  2級     良
201  2019/7/21    36    27    晴~多云  西南風  2級  輕度污染
204  2019/7/24    36    27  多云~雷陣雨  西南風  2級     良
207  2019/7/27    36    27      多云  東南風  2級  輕度污染
174  2019/6/24    36    24      多云  東南風  2級     良
175  2019/6/25    36    24      多云  東南風  2級     良
183   2019/7/3    36    24       晴  東南風  1級     良
170  2019/6/20    36    23    多云~晴  東南風  2級  輕度污染
'''
print(df.sort_values(by=['最高溫度','最低溫度'],ascending= [True,False]).head(10))
'''
打印:
             日期  最高溫度  最低溫度     天氣   風向  風級 空氣質量
363  2019/12/30    -5   -12      晴  西北風  4級    優
44    2019/2/14    -3    -6  小雪~多云  東南風  2級    良
42    2019/2/12    -3    -8  小雪~多云  東北風  2級    優
364  2019/12/31    -3   -10      晴  西北風  1級    優
37     2019/2/7    -2    -7     多云  東北風  3級    優
14    2019/1/15    -2   -10      晴  西北風  3級    良
38     2019/2/8    -1    -7     多云  西南風  2級    優
4      2019/1/5     0    -8     多云  東北風  2級    優
39     2019/2/9     0    -8     多云  東北風  2級    優
40    2019/2/10     0    -8     多云  東南風  1級    優
'''

pandas排序、排名函數的使用

排序

Series

s.sort_index(ascending=False)

對series的索引進行排序,默認升序

pandas怎么實現按照多列排序ascending

s.sort_values(ascending=False)

對series的值進行排序,對值進行排序的時候,無論是升序還是降序,缺失值(NaN)都會排在最后面

pandas怎么實現按照多列排序ascending

DataFrame:

dt.sort_index(ascending=False)#按列索引進行降序排序
dt.sort_inex(axis=1)#按行的索引進行排序
dt.sort_values(by='columns_name')#按指定列的值進行排序
dt.sort_values(by='row_name', axis=1)#按指定行的值進行排序

使用by參數進行某幾列(行)排序的時候,以列表中的第一個為準,可能后面的不會生效,因為有的時候無法做到既對第一行(列)進行升序排序又對第二行(列)進行排序。

在指定行值進行排序的時候,必須設置axis=1,不然會報錯,因為默認指定的是列索引,找不到這個索引所以報錯,axis=1的意思是指定行索引。
 

排名

Series

s.rank(method=‘first')

對series的值進行升序排名,輸出為排名,當排名相同時,輸出平均排名,method=‘first’排名相同時按照值在數組中出現的順序排序

method參數除了,first按值在原始數據中的出現順序分配排名,還有min使用整個分組的最小排名,max是用整個分組的最大排名,average使用平均排名,也是默認的排名方式。還可以設置ascending參數,設置降序還是升序排序。

pandas怎么實現按照多列排序ascending

DataFrame:

dt.rank()#按列進行排名 
dt.rank(axis=1)#按行進行排名

method與ascending參數的使用與Series的相同

到此,相信大家對“pandas怎么實現按照多列排序ascending”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沅陵县| 江都市| 游戏| 南和县| 新宾| 赫章县| 新巴尔虎右旗| 陆川县| 余庆县| 习水县| 朝阳县| 湖北省| 大渡口区| 黔南| 都兰县| 岐山县| 陵川县| 锦州市| 湘西| 台湾省| 苗栗县| 阿巴嘎旗| 富蕴县| 崇信县| 田林县| 闸北区| 秀山| 浏阳市| 万载县| 谷城县| 麻城市| 黔西县| 徐汇区| 广平县| 阿坝县| 包头市| 靖江市| 连州市| 六枝特区| 大洼县| 万年县|