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

全國咨詢/投訴熱線:400-618-4000

大數(shù)據(jù)培訓:對某列數(shù)據(jù)應用不同的函數(shù)

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

好口碑IT培訓

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

In [21]:  # 對一列數(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]

  從輸出的結果可以看出,生成的DataFrame對象具有兩層列索引,每個外層列索引包含兩個內層列索引,分別以函數(shù)的名稱range_data_group和sum命名。

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

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

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

0 分享到:
和我們在線交談!