首頁常見問題正文

數(shù)據(jù)聚合與分組運(yùn)算:通過列名進(jìn)行分組

更新時(shí)間:2022-11-30 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  在Pandas對象中,如果它的某一列數(shù)據(jù)滿足不同的劃分標(biāo)準(zhǔn),則可以將該列當(dāng)做分組鍵來拆分?jǐn)?shù)據(jù)集。例如,創(chuàng)建一個(gè)DataFrame對象,具體代碼如下。

In [1]: import pandas as pd
        df = pd.DataFrame({"Key": ['C', 'B', 'C', 'A', 'B', 'B', 'A', 'C', 'A'],
                           "Data":[2,4,6,8,10,1,14,16,18]})
        df
Out[1]:
  Key Data
0   C    2
1   B    4
2   C    6
3   A    8
4   B    10
5   B    1
6   A    14
7   C    16
8   A    18

  然后,調(diào)用groupby()方法時(shí)把列名Key傳給by參數(shù),代表將Key作為分組鍵,讓df對象按照Key列進(jìn)行分組,具體示例代碼如下:

In [2]: # 按key列進(jìn)行分組
          df.groupby(by='Key')
Out[2]: <pandas.core.groupby.groupby.DataFrameGroupBy object at
         0X0000000006E274A8>

  從輸出的結(jié)果可以看出,DataFrame經(jīng)過分組后得到了一個(gè)DataFrameGroupBy對象,該對象是一個(gè)可迭代的對象,即只有在真正需要的時(shí)候才會(huì)執(zhí)行執(zhí)行計(jì)算(采用惰性計(jì)算)。

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!