教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

大數(shù)據(jù)培訓(xùn):對(duì)某列數(shù)據(jù)應(yīng)用不同的函數(shù)

更新時(shí)間:2022年10月24日10時(shí)35分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  假設(shè)現(xiàn)在產(chǎn)生另外一個(gè)需求,不僅需要求出每組數(shù)據(jù)的極差,還需要計(jì)算出每組數(shù)據(jù)的和,即對(duì)一列數(shù)據(jù)使用兩種不同的函數(shù)。這時(shí),可以將兩個(gè)函數(shù)的名稱(chēng)放在列表中,之后在調(diào)用agg()方法聚合時(shí)作為參數(shù)傳入即可,具體示例代碼如下。

In [21]:  # 對(duì)一列數(shù)據(jù)用兩種函數(shù)聚合
          data_group.agg([range_data_group, sum])
Out [21]:           a                    b ...   e                f
     range_data_group sum range_data_group ... sum range_data_group sum
key
a                   12  18              12 ...  30               12  33
b                   12  72              12 ...  84               12  87
 [2 rows x 12 columns]

  從輸出的結(jié)果可以看出,生成的DataFrame對(duì)象具有兩層列索引,每個(gè)外層列索引包含兩個(gè)內(nèi)層列索引,分別以函數(shù)的名稱(chēng)range_data_group和sum命名。

  雖然每一列可以應(yīng)用不同的函數(shù),但是結(jié)果并不能很直觀地辨別出每個(gè)函數(shù)代表的含義。Pandas的設(shè)計(jì)者已經(jīng)考慮到這一點(diǎn),為了能更好地反映出每列對(duì)應(yīng)的數(shù)據(jù)的信息,可以使用“(name,function)”元組將function(函數(shù)名)替換為name(自定義名稱(chēng))。下面,在上述示例中進(jìn)一步優(yōu)化內(nèi)層索引的名稱(chēng),具體代碼如下。

In [22]: data_group.agg([(“極差” , range_data_group), (“和” , sum)])
Out[22]:
          a        b         c         d         e         f
      極差 和  極差  和  極差  和  極差  和  極差  和  極差  和
key
a       12 18  12 21    12 24  12  27  12   30  12  33
b       12 72  12 75    12 78  12  81  12   84  12  87

  從輸出的結(jié)果可以看出,函數(shù)名經(jīng)過(guò)重命名以后,可以很清晰直觀地找到每組數(shù)據(jù)的極差值以及總和。

0 分享到:
和我們?cè)诰€交談!