头歌 5. Pandas分组聚合与透视表的创建

时间:2025-04-28 11:41:12

第1关:Pandas分组聚合

import pandas as pd
import numpy as np

# 返回最大值与最小值的和
def sub(df):
    ########## Begin #########
    return ()-()
    
    ########## End #########

# 得到目标DataFrame
def main():
    ########## Begin #########
    df = pd.read_csv("step1/")
    df1 = ('continent').agg(sub).loc[:,"wine_servings"]
    df2 = ('continent').sum().loc[:,"beer_servings"]
    result = ([df1,df2],axis=1)
    
    
    ########## End #########
    return result

第2关:Pandas创建透视表和交叉表

#-*- coding: utf-8 -*-
import pandas as pd

#创建透视表
def create_pivottalbe(data):
    ########## Begin ##########
    return data.pivot_table(values=["tip"], index="day", columns="time",aggfunc=sum, margins=True) 
    ########## End ##########

#创建交叉表
def create_crosstab(data):
    ########## Begin ##########
    return (index=data["day"], columns=data["time"], values=data["tip"], aggfunc=sum, margins=True)

    ########## End ##########

def main():
    #读取csv文件数据并赋值给data
    ########## Begin ##########
    data = pd.read_csv("step2/")

    ########## End ##########
    piv_result = create_pivottalbe(data)
    cro_result = create_crosstab(data)
    print("透视表:\n{}".format(piv_result))
    print("交叉表:\n{}".format(cro_result))