最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python自定義聚合函數(shù)merge與transform區(qū)別詳解

 更新時(shí)間:2020年05月26日 10:11:03   作者:懶惰的星期六  
這篇文章主要介紹了Python自定義聚合函數(shù)merge與transform區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1.自定義聚合函數(shù),結(jié)合agg使用

2. 同時(shí)使用多個(gè)聚合函數(shù)

3. 指定某一列使用某些聚合函數(shù)

4.merge與transform使用

import pandas as pd
  import numpy as np
  np.random.seed(1)
  dict_data = {
    'k1': ['a', 'b', 'c', 'd', 'a', 'b', 'c', 'd'],
    'k2': ['A', 'B', 'C', 'D', 'A', 'B', 'C', 'D'],
    'data1': np.random.randint(1,10,8),
    'data2': np.random.randint(1,10,8)
  }
  df = pd.DataFrame(dict_data)
  print('df=\n',df)
  df2 = df.groupby('k1').sum()
  # df2 = df.sum()
  print("df.groupby('k1').sum()\n",df2)

  # 使用聚合函數(shù)
  def cus(df):
    return df.max()-df.min()
  # 默認(rèn)列索引為列名。元組第0個(gè)元素‘Max',‘mu_cus'為自定義列名稱(chēng),第一個(gè)元素為聚合函數(shù)名稱(chēng)
  print("使用聚合函數(shù)1\n",df.groupby('k1').agg(['sum',('Max','max'),('mu_cus',cus)]))
  # 制定某一列使用某個(gè)聚合函數(shù), 元組不能用來(lái)重命名列名了,元組里面的函數(shù),表示這一列將會(huì)執(zhí)行的聚合函數(shù)
  print("使用聚合函數(shù)2\n",df.groupby('k1').agg({'data1':('min', 'max'),'data2':'min'}))

  df3 = df.groupby('k1').sum().add_prefix('sum_')
  print('df3=\n',df3)
  # 如果不使用add_prefix('sum_'),那么在merge時(shí)候data1余data2列名相同,會(huì)被自動(dòng)重命名
  print('merge=\n',pd.merge(df,df3,on='k1')) 

  transform_df = df.groupby('k1').transform(np.sum).add_prefix('sum_')
  print(transform_df)
  df[transform_df.columns]=transform_df # transform_df.columns Index(['sum_k2', 'sum_data1', 'sum_data2'], dtype='object')
  # df[transform_df.columns.values]=transform_df #等價(jià),# transform_df.columns.values ['sum_k2', 'sum_data1', 'sum_data2']
   print(df)    exit()

結(jié)果

df=
  k1 k2 data1 data2
0 a A   6   3
1 b B   9   5
2 c C   6   6
3 d D   1   3
4 a A   1   5
5 b B   2   3
6 c C   8   5
7 d D   7   8
df.groupby('k1').sum()
   data1 data2
k1       
a    7   8
b   11   8
c   14   11
d    8   11
使用聚合函數(shù)1
  data1      data2      
   sum Max mu_cus  sum Max mu_cus
k1                 
a   7  6   5   8  5   2
b   11  9   7   8  5   2
c   14  8   2  11  6   1
d   8  7   6  11  8   5
使用聚合函數(shù)2
  data1   data2
   min max  min
k1        
a   1  6   3
b   2  9   3
c   6  8   5
d   1  7   3
df3=
   sum_data1 sum_data2
k1           
a      7     8
b     11     8
c     14     11
d      8     11
merge=
  k1 k2 data1 data2 sum_data1 sum_data2
0 a A   6   3     7     8
1 a A   1   5     7     8
2 b B   9   5     11     8
3 b B   2   3     11     8
4 c C   6   6     14     11
5 c C   8   5     14     11
6 d D   1   3     8     11
7 d D   7   8     8     11
 sum_k2 sum_data1 sum_data2
0   AA     7     8
1   BB    11     8
2   CC    14    11
3   DD     8    11
4   AA     7     8
5   BB    11     8
6   CC    14    11
7   DD     8    11
 k1 k2 data1 data2 sum_k2 sum_data1 sum_data2
0 a A   6   3   AA     7     8
1 b B   9   5   BB    11     8
2 c C   6   6   CC    14    11
3 d D   1   3   DD     8    11
4 a A   1   5   AA     7     8
5 b B   2   3   BB    11     8
6 c C   8   5   CC    14    11
7 d D   7   8   DD     8    11

Process finished with exit code 0

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python使用cartopy在地圖中添加經(jīng)緯線的示例代碼

    python使用cartopy在地圖中添加經(jīng)緯線的示例代碼

    gridlines可以根據(jù)坐標(biāo)系,自動(dòng)繪制網(wǎng)格線,這對(duì)于普通繪圖來(lái)說(shuō)顯然不必單獨(dú)拿出來(lái)說(shuō)說(shuō),但在地圖中,經(jīng)緯線幾乎是必不可少的,本文將給大家介紹了python使用cartopy在地圖中添加經(jīng)緯線的方法,需要的朋友可以參考下
    2024-01-01
  • Python+OpenCV實(shí)戰(zhàn)之拖拽虛擬方塊的實(shí)現(xiàn)

    Python+OpenCV實(shí)戰(zhàn)之拖拽虛擬方塊的實(shí)現(xiàn)

    這篇文章主要介紹了如何利用Python+OpenCV實(shí)現(xiàn)拖拽虛擬方塊的效果,即根據(jù)手指坐標(biāo)位置和矩形的坐標(biāo)位置,判斷手指點(diǎn)是否在矩形上,如果在則矩形跟隨手指移動(dòng),感興趣的可以了解一下
    2022-08-08
  • python人工智能算法之線性回歸實(shí)例

    python人工智能算法之線性回歸實(shí)例

    這篇文章主要為大家介紹了python人工智能算法之線性回歸實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 在python中獲取div的文本內(nèi)容并和想定結(jié)果進(jìn)行對(duì)比詳解

    在python中獲取div的文本內(nèi)容并和想定結(jié)果進(jìn)行對(duì)比詳解

    今天小編就為大家分享一篇在python中獲取div的文本內(nèi)容并和想定結(jié)果進(jìn)行對(duì)比詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • python實(shí)現(xiàn)代碼統(tǒng)計(jì)器

    python實(shí)現(xiàn)代碼統(tǒng)計(jì)器

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)代碼統(tǒng)計(jì)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 使用OpenCV實(shí)現(xiàn)圖像的透視變換功能

    使用OpenCV實(shí)現(xiàn)圖像的透視變換功能

    在計(jì)算機(jī)視覺(jué)領(lǐng)域,經(jīng)常需要對(duì)圖像進(jìn)行各種幾何變換,如旋轉(zhuǎn)、縮放和平移等,本文主要介紹了如何使用OpenCV實(shí)現(xiàn)圖像的透視變換,需要的可以參考下
    2024-11-11
  • Celery+django+redis異步執(zhí)行任務(wù)的實(shí)現(xiàn)示例

    Celery+django+redis異步執(zhí)行任務(wù)的實(shí)現(xiàn)示例

    本文主要介紹了Celery+django+redis異步執(zhí)行任務(wù)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • Python如何使用內(nèi)置庫(kù)matplotlib繪制折線圖

    Python如何使用內(nèi)置庫(kù)matplotlib繪制折線圖

    這篇文章主要介紹了Python如何使用內(nèi)置庫(kù)matplotlib繪制折線圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • PyHacker編寫(xiě)指南引用Nmap模塊實(shí)現(xiàn)端口掃描器

    PyHacker編寫(xiě)指南引用Nmap模塊實(shí)現(xiàn)端口掃描器

    這篇文章主要為大家介紹了PyHacker編寫(xiě)指南Nmap模塊實(shí)現(xiàn)端口掃描,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 在Pycharm的Project Files下建立多個(gè)項(xiàng)目的操作

    在Pycharm的Project Files下建立多個(gè)項(xiàng)目的操作

    這篇文章主要介紹了在Pycharm的Project Files下建立多個(gè)項(xiàng)目的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05

最新評(píng)論

如东县| 临安市| 灵璧县| 莲花县| 乳源| 沅江市| 关岭| 当涂县| 龙川县| 临潭县| 柳林县| 甘孜| 永兴县| 江都市| 诏安县| 霸州市| 涞源县| 芮城县| 大英县| 名山县| 集安市| 织金县| 温州市| 永德县| 张家港市| 永康市| 南充市| 汾阳市| 商城县| 招远市| 喀什市| 灌阳县| 古田县| 阆中市| 丰宁| 元阳县| 图木舒克市| 淮南市| 宁远县| 措勤县| 焉耆|