• Pandas数据分析Pandas进阶在线闯关_头歌实践教学平台


    第1关 Pandas 分组聚合

    任务描述
    本关任务:使用 Pandas 加载 drinks.csv 文件中的数据,根据数据信息求每个大洲红酒消耗量的最大值与最小值的差以及啤酒消耗量的和。

    编程要求
    使用 Pandas 中的 read_csv() 函数读取 step1/drinks.csv 中的数据,数据的列名如下表所示,请根据 continent 分组并求每个大洲红酒消耗量的最大值与最小值的差以及啤酒消耗量的和。在右侧编辑器 Begin-End 内补充代码。
    在这里插入图片描述
    测试说明
    平台会对你编写的代码进行测试:
    测试输入:无;
    预期输出:
    在这里插入图片描述
    开始你的任务吧,祝你成功!

    import pandas as pd
    import numpy as np
    
    #返回最大值与最小值的差
    def sub(df):
        ######## Begin #######
        return df.max()-df.min()
        ######## End #######
    
    def main():
        ######## Begin #######
        data = pd.read_csv("step1/drinks.csv",header = 0)
        df = pd.DataFrame(data)
        mapping = {"wine_servings":sub,"beer_servings":np.sum}
        print(df.groupby("continent").agg(mapping))
    
    
        ######## End #######
    
    if __name__ == '__main__':
        main()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

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

    任务描述
    本关任务:使用 Pandas 加载 tip.csv 文件中的数据集,分别用透视表和交叉表统计顾客在每种用餐时间、每个星期下的小费总和情况。

    编程要求
    使用 Pandas 中的 read_csv 函数加载 step2/tip.csv 文件中的数据集,分别用透视表和交叉表统计顾客在每种用餐时间(time) 、每个星期下(day) 的 小费(tip)总和情况。在右侧编辑器 Begin-End 内补充代码。
    数据集列名信息如下表:
    在这里插入图片描述
    测试说明
    平台会对你编写的代码进行测试:
    测试输入:无;
    预期输出:
    在这里插入图片描述
    开始你的任务吧,祝你成功!

    #-*- coding: utf-8 -*-
    import pandas as pd
    
    #创建透视表
    def create_pivottalbe(data):
        ###### Begin ######
        df = pd.DataFrame(data)
        x = df.pivot_table(index = ['day'],columns = ['time'],values = ['tip'],aggfunc = sum , margins = True)
        return x
        ###### End ######
    
    #创建交叉表
    def create_crosstab(data):
        ###### Begin ######
        df = pd.DataFrame(data)  
        y = pd.crosstab(index = df['day'],columns = df['time'],values = df['tip'],aggfunc =sum,margins = True)
        return y
        ###### End ######
    
    def main():
        #读取csv文件数据并赋值给data
        ###### Begin ######
        data = pd.read_csv("step2/tip.csv",header = 0)
        ###### End ######
        piv_result = create_pivottalbe(data)
        cro_result = create_crosstab(data)
        print("透视表:\n{}".format(piv_result))
        print("交叉表:\n{}".format(cro_result))
    
    if __name__ == '__main__':
        main()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
  • 相关阅读:
    从0-1,如何用低代码搭建管理系统
    Nexus-获取Repositories / Blobstores实际用量
    WSL Ubuntu + Docker Desktop搭建python环境
    Vue 中为什么要有nextTick?
    可怕!.Net 8正式发布了,.Net野心确实不小!
    KT6368A蓝牙的认证问题_FCC和BQB_CE_KC认证或者其它说明
    Survey of intrusion detection systems:techniques, datasets and challenges
    制作一个简单HTML游戏网页(HTML+CSS)仿龙之谷网络游戏官网
    目标检测中的解耦和耦合、anchor-free和anchor-base
    [附源码]计算机毕业设计JAVA大学生心理健康评估系统
  • 原文地址:https://blog.csdn.net/xks18232047575/article/details/134256496