免费可以看的无遮挡av无码|国产在线拍揄自揄视频网站|在线无码精品视频播放在|欧美亚洲国产成人精品,国产成人久久77777精品,亚洲欧美视频在线观看,色偷偷色噜噜狠狠网站久久

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 小紅書達(dá)人帶你學(xué)習(xí)DataFrame的排序

小紅書達(dá)人帶你學(xué)習(xí)DataFrame的排序

來源:千鋒教育
發(fā)布人:syq
時(shí)間: 2022-08-12 13:48:00 1660283280

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

DataFrame的排序

  ### 數(shù)據(jù)排序

  在數(shù)據(jù)分析的使用過程中,數(shù)據(jù)排序是必不可少的。當(dāng)然DataFrame就給我提供了一個(gè)非常方便的對(duì)數(shù)據(jù)排序的方法,那就是:

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

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

  ```

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

  ```

  #### 索引排序

  對(duì)于DataFrame來說也是一樣,同樣有根據(jù)值排序以及根據(jù)索引排序這兩個(gè)功能。但是由于DataFrame是一個(gè)二維的數(shù)據(jù),所以在使用上會(huì)有些不同。最主要的差別是在于Series只有一列,我們明確的知道排序的對(duì)象,但是DataFrame不是,它當(dāng)中的索引就分為兩種,分別是行索引以及列索引。所以我們?cè)谂判虻臅r(shí)候**需要指定我們想要排序的軸**,也就是axis。

  ```

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

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

  ```  

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

  #### 值排序

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

  ```

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

  ```

  結(jié)果:  

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

  或者是按照用戶下單金額和消費(fèi)的總金額排序,

  ```

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

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

  ```

  結(jié)果:  

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

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

  ```

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

  ``` 

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

  當(dāng)然還可以在sort_values方法中指定,inplace=True 保留排序結(jié)果在原數(shù)據(jù)中,默認(rèn)是False。也可以指定按照哪個(gè)軸排序使用axis,

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

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

  ### 數(shù)據(jù)匯總

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

  > max([axis=1|0])

  >

  > min([axis=1|0])

  >

  > sum([axis=1|0])

  >

  > mean([axis=1|0])

  >

  > count([axis=1|0])

  >

  > ....

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

  ```python

  df['3rd'].sum()

  ```

  結(jié)果:

  > ```

  > 67329

  > ```

  當(dāng)然我們也可以獲取用戶的購買金額revenue的均值

  ```

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

  ```

  結(jié)果:

  > ```

  > 398.2981660045499

  > ```

  獲取用戶注冊(cè)6個(gè)月內(nèi)的個(gè)數(shù)

  ```

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

  ```

  結(jié)果:

  > ```

  > 3541

  > ```

  獲取消費(fèi)總額最大的金額

  ```

  df['accumulation'].max()

  ```

  結(jié)果:

  > ```

  > 11597.9

  > ```

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

  ```

  df.describe()

  ```

  結(jié)果:  

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

  其中std是求標(biāo)準(zhǔn)差,50%求中位數(shù),var()求方差等...

  當(dāng)然我們也可以同時(shí)獲取用戶的購買金額revenue的均值和消費(fèi)總額最大的金額,此時(shí)我們需要使用agg方法完成。

  ```

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

  ```

  結(jié)果:  

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

  當(dāng)然更多情況下,agg方法往往是結(jié)合分組groupby使用。也不是絕對(duì)的,根據(jù)實(shí)際的情況吧!

  更多關(guān)于Python 培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢(mèng)想。

  注:本文部分文字和圖片來源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪除。版權(quán)歸原作者所有!

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
反欺詐中所用到的機(jī)器學(xué)習(xí)模型有哪些?

一、邏輯回歸模型邏輯回歸是一種常用的分類模型,特別適合處理二分類問題。在反欺詐中,邏輯回歸可以用來預(yù)測(cè)一筆交易是否是欺詐。二、決策樹模...詳情>>

2023-10-14 14:09:29
軟件開發(fā)管理流程中會(huì)出現(xiàn)哪些問題?

一、需求不清需求不明確是導(dǎo)致項(xiàng)目失敗的主要原因之一。如果需求沒有清晰定義,開發(fā)人員可能會(huì)開發(fā)出不符合用戶期望的產(chǎn)品。二、通信不足溝通問...詳情>>

2023-10-14 13:43:21
軟件定制開發(fā)中的敏捷開發(fā)是什么?

軟件定制開發(fā)中的敏捷開發(fā)是什么軟件定制開發(fā)中的敏捷開發(fā),從宏觀上看,是一個(gè)高度關(guān)注人員交互,持續(xù)開發(fā)與交付,接受需求變更并適應(yīng)環(huán)境變化...詳情>>

2023-10-14 13:24:57
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個(gè)全面的物聯(lián)網(wǎng)開發(fā)平臺(tái),它為眾多硬件平臺(tái)和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡(jiǎn)化了開發(fā)過程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動(dòng)備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時(shí)間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動(dòng)備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
快速通道