国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

            手機站
            千鋒教育

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

            千鋒教育

            掃一掃進入千鋒手機站

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

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

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

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

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

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

            DataFrame的排序

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

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

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

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

              ```

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

              ```

              #### 索引排序

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

              ```

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

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

              ```  

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

              #### 值排序

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

              ```

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

              ```

              結(jié)果:  

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

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

              ```

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

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

              ```

              結(jié)果:  

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

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

              ```

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

              ``` 

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

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

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

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

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

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

              > max([axis=1|0])

              >

              > min([axis=1|0])

              >

              > sum([axis=1|0])

              >

              > mean([axis=1|0])

              >

              > count([axis=1|0])

              >

              > ....

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

              ```python

              df['3rd'].sum()

              ```

              結(jié)果:

              > ```

              > 67329

              > ```

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

              ```

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

              ```

              結(jié)果:

              > ```

              > 398.2981660045499

              > ```

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

              ```

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

              ```

              結(jié)果:

              > ```

              > 3541

              > ```

              獲取消費總額最大的金額

              ```

              df['accumulation'].max()

              ```

              結(jié)果:

              > ```

              > 11597.9

              > ```

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

              ```

              df.describe()

              ```

              結(jié)果:  

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

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

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

              ```

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

              ```

              結(jié)果:  

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

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

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

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

            tags:
            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費領(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
            反欺詐中所用到的機器學(xué)習(xí)模型有哪些?

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

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

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

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

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

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

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

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

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

            2023-10-14 12:48:59