<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Pandas知識(shí)點(diǎn)-統(tǒng)計(jì)運(yùn)算函數(shù)

          共 1853字,需瀏覽 4分鐘

           ·

          2021-04-19 14:39



          統(tǒng)計(jì)運(yùn)算非常常用。本文介紹Pandas中的統(tǒng)計(jì)運(yùn)算函數(shù),這些統(tǒng)計(jì)運(yùn)算函數(shù)基本都可以見名知義,使用起來非常簡單。


          本文使用的數(shù)據(jù)來源于網(wǎng)易財(cái)經(jīng),具體下載方法可以參考:Pandas知識(shí)點(diǎn)-DataFrame數(shù)據(jù)結(jié)構(gòu)介紹


          一、數(shù)據(jù)準(zhǔn)備


          數(shù)據(jù)文件是600519.csv,將此文件放到代碼同級目錄下,從文件中讀取出數(shù)據(jù)。


          為了使數(shù)據(jù)簡潔一點(diǎn),只保留數(shù)據(jù)中的部分列和前100行,并設(shè)置“日期”為索引。



          讀取的原始數(shù)據(jù)如上圖,本文使用這些數(shù)據(jù)來介紹統(tǒng)計(jì)運(yùn)算函數(shù)。


          二、最大值和最小值



          max(): 返回?cái)?shù)據(jù)的最大值。使用DataFrame數(shù)據(jù)調(diào)用max()函數(shù),返回結(jié)果為DataFrame中每一列的最大值,即使數(shù)據(jù)是字符串或object也可以返回最大值。


          在Pandas中,數(shù)據(jù)的獲取邏輯是“先列后行”,所以max()默認(rèn)返回每一列的最大值,axis參數(shù)默認(rèn)為0,如果將axis參數(shù)設(shè)置為1,則返回的結(jié)果是每一行的最大值,后面介紹的其他統(tǒng)計(jì)運(yùn)算函數(shù)同理。根據(jù)DataFrame的數(shù)據(jù)特點(diǎn),每一列的數(shù)據(jù)屬性相同,進(jìn)行統(tǒng)計(jì)運(yùn)算是有意義的,而每一行數(shù)據(jù)的數(shù)據(jù)屬性不一定相同,進(jìn)行統(tǒng)計(jì)計(jì)算一般沒有實(shí)際意義,極少使用,所以本文也不進(jìn)行舉例。


          min(): 返回?cái)?shù)據(jù)的最小值。使用DataFrame數(shù)據(jù)調(diào)用min()函數(shù),返回結(jié)果為DataFrame中每一列的最小值,即使數(shù)據(jù)是字符串或object也可以返回最小值。

          使用Series數(shù)據(jù)調(diào)用max()或min()時(shí),返回Series中的最大值或最小值,后面介紹的其他統(tǒng)計(jì)運(yùn)算函數(shù)同理。



          idxmax(): 返回最大值的索引。在numpy中,使用argmax()和argmin()獲取最大值的索引和最小值的索引,在Pandas中使用idxmax()和idxmin(),實(shí)際上idxmax()和idxmin()可以理解成對argmax()和argmin()的封裝。


          idxmin(): 返回最小值的索引。


          使用idxmax()和idxmin()時(shí),一般是用Series數(shù)據(jù)調(diào)用,用DataFrame數(shù)據(jù)調(diào)用可能會(huì)報(bào)TypeError。


          三、均值和中位數(shù)



          mean(): 返回?cái)?shù)據(jù)的均值。使用DataFrame數(shù)據(jù)調(diào)用mean()函數(shù),返回結(jié)果為DataFrame中每一列的平均值,mean()與max()和min()不同的是,不能計(jì)算字符串或object的平均值,所以會(huì)自動(dòng)將不能計(jì)算的列省略。


          median(): 返回?cái)?shù)據(jù)的中位數(shù)。使用DataFrame數(shù)據(jù)調(diào)用median()函數(shù),返回結(jié)果為DataFrame中每一列的中位數(shù),median()也不能計(jì)算字符串或object的中位數(shù),會(huì)自動(dòng)將不能計(jì)算的列省略。



          使用Series數(shù)據(jù)調(diào)用mean()或median()時(shí),返回Series中的均值或中位數(shù)。


          四、標(biāo)準(zhǔn)差和方差



          std(): 返回?cái)?shù)據(jù)的標(biāo)準(zhǔn)差。


          var(): 返回?cái)?shù)據(jù)的方差。方差是標(biāo)準(zhǔn)差的平方,可以進(jìn)行相互驗(yàn)證。


          五、求和、累計(jì)求和



          sum(): 對數(shù)據(jù)求和。為了避免數(shù)值過大,只取5個(gè)數(shù)據(jù)進(jìn)行演示,返回結(jié)果為所有數(shù)據(jù)的和。


          cumsum(): 對數(shù)據(jù)累計(jì)求和。累計(jì)求和是指,對當(dāng)前數(shù)據(jù)及其前面的所有數(shù)據(jù)求和。如索引1的累計(jì)求和結(jié)果為索引0、索引1的數(shù)值之和,索引2的累計(jì)求和結(jié)果為索引0、索引1、索引2的數(shù)值之和,以此類推。



          cummax(): 對數(shù)據(jù)累計(jì)求最大值。


          cummin(): 對數(shù)據(jù)累計(jì)求最小值。


          這兩個(gè)函數(shù)的累計(jì)原理都與cumsum()相同,此外還有累計(jì)求積函數(shù)cumprod()等,分別有不同的應(yīng)用場景。


          六、綜合統(tǒng)計(jì)函數(shù)



          describe(): 綜合統(tǒng)計(jì)函數(shù),可以同時(shí)返回?cái)?shù)據(jù)中的數(shù)據(jù)量、均值、標(biāo)準(zhǔn)差、最小值、最大值,以及上四分位數(shù)、中位數(shù)、下四分位數(shù)。可以一次返回?cái)?shù)據(jù)的多個(gè)統(tǒng)計(jì)屬性,使用起來很方便。


          此外,還有一些統(tǒng)計(jì)函數(shù)本文沒有介紹,比如count()統(tǒng)計(jì)數(shù)據(jù)量、abs()求絕對值等。假如Pandas提供的函數(shù)不滿足我們的統(tǒng)計(jì)需求,還可以借助apply()函數(shù)自定義統(tǒng)計(jì)運(yùn)算,后面的文章再繼續(xù)介紹。


          如果需要代碼和數(shù)據(jù),可以點(diǎn)擊關(guān)注公眾號“Python碎片”,然后在后臺(tái)回復(fù)“pandas06”關(guān)鍵字獲取本文代碼和數(shù)據(jù)。


          瀏覽 91
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲免费网站视频 | caopeng人人 | 一二三区精品 | 操逼网站免费看无遮挡 | 亚洲色欲一区二区 |