欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pandas DataFrame分組求和、分組乘積的實例

 更新時間:2024年02月22日 09:44:22   作者:skyHdd  
這篇文章主要介紹了Pandas DataFrame分組求和、分組乘積的實例,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Pandas DataFrame分組求和、分組乘積

import numpy as np
import pandas as pd
pd.set_option('display.max_columns', 10)

# 刪除空數(shù)據(jù)
def DropNan(data_qd):
    for i in range(len(data_qd)):
        if np.isnan(data_qd['test_uniq_cnt'][i]) or \
                np.isnan(data_qd['fail_uniq_cnt'][i]):
            data_qd = data_qd.drop(i)
    return data_qd


def GetGroupSum(df, lst_merge):
    pop_group = df.groupby(lst_merge).sum().reset_index().\
        rename(columns = {'test_uniq_cnt':'sum_test_cnt','fail_uniq_cnt':'sum_fail_cnt'})
    pop_group['Percentofpass'] = pop_group.\
        apply(lambda x: -99999 if x.sum_test_cnt == 0 or np.isnan(x.sum_test_cnt) or np.isnan(x.sum_fail_cnt) \
        else 1 - float(x.sum_fail_cnt)/x.sum_test_cnt, axis = 1)

    return pop_group


def GetGroupProd(df, lst_group):
    fpy_group = df.groupby(lst_group).\
        apply(lambda x: '無生產(chǎn)' if x['Percentofpass'].max(axis = 0) < 0 \
        else 'NA' if x['Percentofpass'].min(axis = 0) < 0 \
        else x['Percentofpass'].cumprod(axis = 0).iloc[-1]).reset_index()
    fpy_group.columns = lst_group + ['fpy']
    return fpy_group

DataFrame group分組(單列分組、多列分組、分組統(tǒng)計、迭代、聚合計算)

pandas - DataFrame

分組

def dataFormatGroup():
    """
    分組統(tǒng)計
    :return:
    """
    # 解決數(shù)據(jù)輸出時列名不對齊的問題
    pd.set_option('display.unicode.ambiguous_as_wide', True)
    pd.set_option('display.unicode.east_asian_width', True)

    data = [
        ["組織結(jié)構(gòu)-1", "組織結(jié)構(gòu)-1-1", 11, 12],
        ["組織結(jié)構(gòu)-1", "組織結(jié)構(gòu)-1-2", 11, 12],
        ["組織結(jié)構(gòu)-1", "組織結(jié)構(gòu)-1-3", 11, 12],
        ["組織結(jié)構(gòu)-1", "組織結(jié)構(gòu)-1-3", 13, 14],
        ["組織結(jié)構(gòu)-2", "組織結(jié)構(gòu)-2-1", 21, 22],
        ["組織結(jié)構(gòu)-2", "組織結(jié)構(gòu)-2-1", 21, 22],
        ["組織結(jié)構(gòu)-2", "組織結(jié)構(gòu)-2-3", 21, 22],
        ["組織結(jié)構(gòu)-3", "組織結(jié)構(gòu)-3-1", 31, 32],
        ["組織結(jié)構(gòu)-3", "組織結(jié)構(gòu)-3-1", 31, 32],
        ["組織結(jié)構(gòu)-3", "組織結(jié)構(gòu)-3-3", 31, 32],
        ["組織結(jié)構(gòu)-4", "組織結(jié)構(gòu)-4-1", 41, 42],
        ["組織結(jié)構(gòu)-4", "組織結(jié)構(gòu)-4-1", 41, 42],
        ["組織結(jié)構(gòu)-4", "組織結(jié)構(gòu)-4-3", 41, 42]
    ]
    columns = ['一級單位', '二級單位', '男員工人數(shù)', '女員工人數(shù)']

    df = pd.DataFrame(data=data, columns=columns)

    # 按單列進行分組統(tǒng)計
    group_one_org = df.groupby('一級單位').sum()
    print(group_one_org)

    # 按多列進行分組統(tǒng)計
    group_two_org = df.groupby(['一級單位', '二級單位']).sum()
    print(group_two_org)

    # 按單列進行分組統(tǒng)計,并統(tǒng)計男員工人數(shù)
    group_one_org_by_man = df.groupby(['一級單位'])["男員工人數(shù)"].sum()
    print(group_one_org_by_man)

    # 迭代
    groups = df.groupby(['一級單位'])
    for name, group in groups:
        print(name)
        print(group)

    # 聚合函數(shù) (平均、求和、最大、最小)
    agg_1 = df.groupby("一級單位").agg(['mean', 'sum', 'max', 'min'])
    print(agg_1)

    # 聚合函數(shù) 分列聚合計算
    agg_2 = df.groupby("一級單位").agg({'男員工人數(shù)': ['mean', 'sum'], '女員工人數(shù)': ['max', 'min']})
    print(agg_2)
	
	 # 求和分組并排序(ascending True 升序 False 降序)
	 group_and_num = df.assign(sum=df.sum(axis=1)).groupby(['一級單位', '二級單位']).sum().sort_values("sum", ascending=True)
	 print(group_and_num)

原始數(shù)據(jù):

	      一級單位      二級單位    男員工人數(shù)   女員工人數(shù)
	0   組織結(jié)構(gòu)-1  組織結(jié)構(gòu)-1-1          11          12
	1   組織結(jié)構(gòu)-1  組織結(jié)構(gòu)-1-2          11          12
	2   組織結(jié)構(gòu)-1  組織結(jié)構(gòu)-1-3          11          12
	3   組織結(jié)構(gòu)-1  組織結(jié)構(gòu)-1-3          13          14
	4   組織結(jié)構(gòu)-2  組織結(jié)構(gòu)-2-1          21          22
	5   組織結(jié)構(gòu)-2  組織結(jié)構(gòu)-2-1          21          22
	6   組織結(jié)構(gòu)-2  組織結(jié)構(gòu)-2-3          21          22
	7   組織結(jié)構(gòu)-3  組織結(jié)構(gòu)-3-1          31          32
	8   組織結(jié)構(gòu)-3  組織結(jié)構(gòu)-3-1          31          32
	9   組織結(jié)構(gòu)-3  組織結(jié)構(gòu)-3-3          31          32
	10  組織結(jié)構(gòu)-4  組織結(jié)構(gòu)-4-1          41          42
	11  組織結(jié)構(gòu)-4  組織結(jié)構(gòu)-4-1          41          42
	12  組織結(jié)構(gòu)-4  組織結(jié)構(gòu)-4-3          41          42

group_one_org 按單列進行分組統(tǒng)計 返回結(jié)果:

           		 男員工人數(shù)   女員工人數(shù)
	一級單位                          
	組織結(jié)構(gòu)-1          46          50
	組織結(jié)構(gòu)-2          63          66
	組織結(jié)構(gòu)-3          93          96
	組織結(jié)構(gòu)-4         123         126

** group_two_org 按多列進行分組統(tǒng)計 返回結(jié)果:**

          			   			 男員工人數(shù)  	女員工人數(shù)
	  一級單位  		二級單位                            
	組織結(jié)構(gòu)-1 	組織結(jié)構(gòu)-1-1          11          12
	            組織結(jié)構(gòu)-1-2          11          12
	            組織結(jié)構(gòu)-1-3          24          26
	組織結(jié)構(gòu)-2	組織結(jié)構(gòu)-2-1          42          44
	            組織結(jié)構(gòu)-2-3          21          22
	組織結(jié)構(gòu)-3 	組織結(jié)構(gòu)-3-1          62          64
	            組織結(jié)構(gòu)-3-3          31          32
	組織結(jié)構(gòu)-4 	組織結(jié)構(gòu)-4-1          82          84
	            組織結(jié)構(gòu)-4-3          41          42

group_one_org_by_man 按單列進行分組統(tǒng)計,并統(tǒng)計男員工人數(shù) 返回結(jié)果:

	一級單位
	組織結(jié)構(gòu)-1     46
	組織結(jié)構(gòu)-2     63
	組織結(jié)構(gòu)-3     93
	組織結(jié)構(gòu)-4    123
	Name: 男員工人數(shù), dtype: int64

groups 迭代 返回結(jié)果:

組織結(jié)構(gòu)-1
	     一級單位      二級單位  男員工人數(shù)  女員工人數(shù)
	0  組織結(jié)構(gòu)-1  組織結(jié)構(gòu)-1-1          11          12
	1  組織結(jié)構(gòu)-1  組織結(jié)構(gòu)-1-2          11          12
	2  組織結(jié)構(gòu)-1  組織結(jié)構(gòu)-1-3          11          12
	3  組織結(jié)構(gòu)-1  組織結(jié)構(gòu)-1-3          13          14
	
	組織結(jié)構(gòu)-2
	     一級單位      二級單位  男員工人數(shù)  女員工人數(shù)
	4  組織結(jié)構(gòu)-2  組織結(jié)構(gòu)-2-1          21          22
	5  組織結(jié)構(gòu)-2  組織結(jié)構(gòu)-2-1          21          22
	6  組織結(jié)構(gòu)-2  組織結(jié)構(gòu)-2-3          21          22
	
	組織結(jié)構(gòu)-3
	     一級單位      二級單位  男員工人數(shù)  女員工人數(shù)
	7  組織結(jié)構(gòu)-3  組織結(jié)構(gòu)-3-1          31          32
	8  組織結(jié)構(gòu)-3  組織結(jié)構(gòu)-3-1          31          32
	9  組織結(jié)構(gòu)-3  組織結(jié)構(gòu)-3-3          31          32
	
	組織結(jié)構(gòu)-4
	      一級單位      二級單位  男員工人數(shù)  女員工人數(shù)
	10  組織結(jié)構(gòu)-4  組織結(jié)構(gòu)-4-1          41          42
	11  組織結(jié)構(gòu)-4  組織結(jié)構(gòu)-4-1          41          42
	12  組織結(jié)構(gòu)-4  組織結(jié)構(gòu)-4-3          41          42

agg_1 聚合函數(shù) (平均、求和、最大、最?。?返回結(jié)果:

						 男員工人數(shù)              女員工人數(shù)             
	                 mean  sum max min       mean  sum max min
	一級單位                                                  
	組織結(jié)構(gòu)-1       11.5   46  13  11       12.5   50  14  12
	組織結(jié)構(gòu)-2       21.0   63  21  21       22.0   66  22  22
	組織結(jié)構(gòu)-3       31.0   93  31  31       32.0   96  32  32
	組織結(jié)構(gòu)-4       41.0  123  41  41       42.0  126  42  42

agg_2 聚合函數(shù) 分列聚合計算 返回結(jié)果:

	                男員工人數(shù)      女員工人數(shù)    
	                 mean  sum        max min
	一級單位                                 
	組織結(jié)構(gòu)-1       11.5   46         14  12
	組織結(jié)構(gòu)-2       21.0   63         22  22
	組織結(jié)構(gòu)-3       31.0   93         32  32
	組織結(jié)構(gòu)-4       41.0  123         42  42

求和分組并排序(ascending True 升序 False 降序) 返回結(jié)果:

	        						男員工人數(shù)  女員工人數(shù)  sum
	一級單位      二級單位                                  
	組織結(jié)構(gòu)-1    組織結(jié)構(gòu)-1-1          11          12       23
	             組織結(jié)構(gòu)-1-2          11          12       23
	組織結(jié)構(gòu)-2    組織結(jié)構(gòu)-2-3          21          22       43
	組織結(jié)構(gòu)-1    組織結(jié)構(gòu)-1-3          24          26       50
	組織結(jié)構(gòu)-3    組織結(jié)構(gòu)-3-3          31          32       63
	組織結(jié)構(gòu)-4    組織結(jié)構(gòu)-4-3          41          42       83
	組織結(jié)構(gòu)-2    組織結(jié)構(gòu)-2-1          42          44       86
	組織結(jié)構(gòu)-3    組織結(jié)構(gòu)-3-1          62          64      126
	組織結(jié)構(gòu)-4    組織結(jié)構(gòu)-4-1          82          84      166

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python產(chǎn)生模擬數(shù)據(jù)faker庫的使用詳解

    python產(chǎn)生模擬數(shù)據(jù)faker庫的使用詳解

    這篇文章主要介紹了python產(chǎn)生模擬數(shù)據(jù)faker庫的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 利用python繪制帶有時間線的柱狀圖

    利用python繪制帶有時間線的柱狀圖

    這篇文章主要為大家詳細介紹了如何使用python繪制出帶有時間線的柱狀圖,文中的示例代碼講解的非常詳細,具有一定的學(xué)習(xí)與借鑒價值,需要的可以參考一下
    2023-07-07
  • django框架forms組件用法實例詳解

    django框架forms組件用法實例詳解

    這篇文章主要介紹了django框架forms組件用法,結(jié)合實例形式詳細分析了Django框架forms組件源碼及常用操作方法與使用注意事項,需要的朋友可以參考下
    2019-12-12
  • python批量telnet檢測IP地址的端口是否開放

    python批量telnet檢測IP地址的端口是否開放

    本文主要介紹了python批量telnet檢測IP地址的端口是否開放,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • python tkinter Entry控件的焦點移動操作

    python tkinter Entry控件的焦點移動操作

    這篇文章主要介紹了python tkinter Entry控件的焦點移動操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • pycharm配置git(圖文教程)

    pycharm配置git(圖文教程)

    這篇文章主要介紹了pycharm配置git(圖文教程),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python實現(xiàn)FTP文件傳輸?shù)姆椒ǎǚ?wù)器端和客戶端)

    python實現(xiàn)FTP文件傳輸?shù)姆椒ǎǚ?wù)器端和客戶端)

    FTP(File Transfer Protocol,文件傳輸協(xié)議) 是 TCP/IP 協(xié)議組中的協(xié)議之一。接下來通過本文給大家介紹關(guān)于python實現(xiàn)FTP文件傳輸?shù)南嚓P(guān)知識(服務(wù)器端和客戶端) ,需要的朋友可以參考下
    2020-03-03
  • 教你怎么用Python操作MySql數(shù)據(jù)庫

    教你怎么用Python操作MySql數(shù)據(jù)庫

    很多小伙伴都在問我能不能出一篇怎么用Python操作MySql數(shù)據(jù)庫的教程,今天特地整理了本篇文章,文中有非常詳細的圖文示例,需要的朋友可以參考下
    2021-05-05
  • python交互式圖形編程實例(二)

    python交互式圖形編程實例(二)

    這篇文章主要為大家詳細介紹了python交互式圖形編程實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 詳解python如何通過numpy數(shù)組處理圖像

    詳解python如何通過numpy數(shù)組處理圖像

    Numpy?是?Python?中科學(xué)計算的核心庫,NumPy?這個詞來源于?Numerical?和?Python?兩個單詞。它提供了一個高性能的多維數(shù)組對象,以及大量的庫函數(shù)和操作,可以幫助程序員輕松地進行數(shù)值計算,廣泛應(yīng)用于機器學(xué)習(xí)模型、圖像處理和計算機圖形學(xué)、數(shù)學(xué)任務(wù)等領(lǐng)域
    2022-03-03

最新評論