麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 小紅書達人帶你學習DataFrame的排序

小紅書達人帶你學習DataFrame的排序

來源:千鋒教育
發布人:syq
時間: 2022-08-12 13:48:00 1660283280

  現在直播帶貨太火了,宋宋最近也在小紅書上敗家了好幾單,身為程序員的宋宋有點不甘心。拿到了一份小紅書直播帶貨榜數據分析下,看一看小紅書的賣貨實力和用戶分析?本案例主要針對DataFrame的排序知識點的講解。

DataFrame的排序

  ### 數據排序

  在數據分析的使用過程中,數據排序是必不可少的。當然DataFrame就給我提供了一個非常方便的對數據排序的方法,那就是:

  sort_index和sort_values方法。在我們講解DataFrame的排序之前,回顧下Series的排序。

  Series排序有兩種:一個是sort_index,顧名思義根據Series中的索引對這些值進行排序。另一個是sort_values,根據Series中的值來排序。這兩個方法都會返回一個新的Series。使用Series的排序可以對DataFrame中的某一列進行排序。比如:按照年齡排序

  ```

  df['age'].sort_values() # 獲取age列,并進行排序

  ```

  #### 索引排序

  對于DataFrame來說也是一樣,同樣有根據值排序以及根據索引排序這兩個功能。但是由于DataFrame是一個二維的數據,所以在使用上會有些不同。最主要的差別是在于Series只有一列,我們明確的知道排序的對象,但是DataFrame不是,它當中的索引就分為兩種,分別是行索引以及列索引。所以我們在排序的時候**需要指定我們想要排序的軸**,也就是axis。

  ```

  df.sort_index(axis=0,ascending=False)

  # 其中ascending是用來指定排序的升降序的,默認是升序,如果是降序排列可以使用ascending=False

  ```  

屏幕快照 2021-07-22 下午5.55.43

  #### 值排序

  DataFrame的值排序有所不同,我們不能對行進行排序,**只能針對列**。我們通過by參數傳入我們希望排序參照的列,可以是一列也可以是多列。比如:需要按照用戶下單的金額排序,升序排列

  ```

  df.sort_values(by='revenue') # 通過by參數指定排序的列名

  ```

  結果:  

屏幕快照 2021-07-22 下午6.00.40

  或者是按照用戶下單金額和消費的總金額排序,

  ```

  # 如果排序的列名是多個,則可以使用列表將多個列名放于列表中

  df.sort_values(by=['revenue','accumulation'])

  ```

  結果:  

屏幕快照 2021-07-22 下午6.04.23

  以上排序是默認的升序,如果需要獲取用戶下單金額最高的則需要,則需要降序排列查看。

  ```

  df.sort_values(by=['revenue','accumulation'],asccending=False)

  ``` 

屏幕快照 2021-07-22 下午6.06.33

  當然還可以在sort_values方法中指定,inplace=True 保留排序結果在原數據中,默認是False。也可以指定按照哪個軸排序使用axis,

  也可以指定排序的方式是:快速排序、合并排序、堆排序使用kind參數,默認是快速排序。(以下分別是合并排序和快排)  

屏幕快照 2021-07-22 下午6.24.57

  ### 數據匯總

  DataFrame中的匯總運算也就是**聚合運算**,比如我們最常見的sum方法,對一批數據進行聚合求和。還有mean方法,對數據進行均值運算等等。

  > max([axis=1|0])

  >

  > min([axis=1|0])

  >

  > sum([axis=1|0])

  >

  > mean([axis=1|0])

  >

  > count([axis=1|0])

  >

  > ....

  我們可以使用sum來對DataFrame的行或者列進行求和,如果不傳任何參數,默認是對每一行進行求和,如果需要按照列求和則設置axis=1。比如求過往第三方購買的數量的總和

  ```python

  df['3rd'].sum()

  ```

  結果:

  > ```

  > 67329

  > ```

  當然我們也可以獲取用戶的購買金額revenue的均值

  ```

  df['revenue'].mean() # 默認axis=0

  ```

  結果:

  > ```

  > 398.2981660045499

  > ```

  獲取用戶注冊6個月內的個數

  ```

  df.loc[df['lifecycle']=='A','lifecycle'].count()

  ```

  結果:

  > ```

  > 3541

  > ```

  獲取消費總額最大的金額

  ```

  df['accumulation'].max()

  ```

  結果:

  > ```

  > 11597.9

  > ```

  由于DataFrame當中常常會有為NA的元素,所以我們可以通過skipna這個參數排除掉缺失值之后再計算平均值。另外還有一個很好用的方法是descirbe,可以返回DataFrame當中的**整體信息**。比如每一列的均值、樣本數量、標準差、最小值、最大值等等。是一個常用的統計方法,可以用來了解DataFrame當中數據的分布情況。

  ```

  df.describe()

  ```

  結果:  

屏幕快照 2021-07-22 下午11.44.32

  其中std是求標準差,50%求中位數,var()求方差等...

  當然我們也可以同時獲取用戶的購買金額revenue的均值和消費總額最大的金額,此時我們需要使用agg方法完成。

  ```

  df.agg({'revenue':np.mean,'accumulation':np.max}) # 參數是一個字典,key為列名,value為要進行的聚合運算

  ```

  結果:  

屏幕快照 2021-07-22 下午11.42.08

  當然更多情況下,agg方法往往是結合分組groupby使用。也不是絕對的,根據實際的情況吧!

  更多關于Python 培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務經驗,采用全程面授高品質、高體驗培養模式,擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢想。

  注:本文部分文字和圖片來源于網絡,如有侵權,請聯系刪除。版權歸原作者所有!

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 色悠久久久久综合欧美99| 里番acg全彩本子| 欧美日本黄色| 青青国产成人久久激情911| 黄色一极片| 老师我好爽再深一点视频| 黑人干| 高清对白精彩国产国语| 久操电影| 国产美女免费观看| 国产高h| 91亚洲自偷手机在线观看| 亚洲天堂中文字幕| 草莓视频黄色在线观看| www.天天操.com| 国产精品久久久久久一区二区三区| 中文在线√天堂| 再灬再灬再灬深一点舒服| 亚洲欧美成人一区二区在线电影| 8x视频在线观看| 麻豆工作室传媒| 亚洲国产精品综合久久网络| 欧美va在线高清| 公用玩物(np双xing总受)by单唯安| 国产视频高清| 国产凌凌漆国语| 日韩精品视频在线观看免费| 色噜噜在线观看| 午夜精品久久久久久久四虎| 深夜a级毛片免费视频| 伊人久久大香线蕉综合电影| 美女性生活电影| 欧美亚洲一二三区| 中国国语毛片免费观看视频| 国产人伦视频在线观看| 果冻传媒麻豆电影| 国产猛男猛女超爽免费视频| 东北女人下面痒大叫| 欧美另类bbbxxxxx另类| 女人张开腿等男人桶免费视频| 欧美人与物videos另类xxxxx|