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

Pandas数据分析进阶

  • [第1关 Pandas 分组聚合](#第1关 Pandas 分组聚合)
  • [第2关 Pandas 创建透视表和交叉表](#第2关 Pandas 创建透视表和交叉表)

第1关 Pandas 分组聚合

任务描述

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

编程要求

使用 Pandas 中的 read_csv() 函数读取 step1/drinks.csv 中的数据,数据的列名如下表所示,请根据 continent 分组并求每个大洲红酒消耗量的最大值与最小值的差以及啤酒消耗量的和。在右侧编辑器 Begin-End 内补充代码。

测试说明

平台会对你编写的代码进行测试:

测试输入:无;

预期输出:

开始你的任务吧,祝你成功!

python 复制代码
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()

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

任务描述

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

编程要求

使用 Pandas 中的 read_csv 函数加载 step2/tip.csv 文件中的数据集,分别用透视表和交叉表统计顾客在每种用餐时间(time) 、每个星期下(day) 的 小费(tip)总和情况。在右侧编辑器 Begin-End 内补充代码。

数据集列名信息如下表:

测试说明

平台会对你编写的代码进行测试:

测试输入:无;

预期输出:

开始你的任务吧,祝你成功!

python 复制代码
#-*- 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()
相关推荐
风吹夏回4 小时前
Python 全局异常处理:从“满屏 try-except”到优雅兜底
开发语言·python
小熊Coding5 小时前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
秋95 小时前
Java项目运行5天左右自动宕机:系统性定位与解决方案
java·开发语言·python
小江的记录本5 小时前
【JVM虚拟机】垃圾回收GC:垃圾收集器:CMS:核心原理、回收流程、优缺点、废弃原因(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·spring·面试·maven
田里的水稻6 小时前
OE_ubuntu26.04与宿主机之间复制粘贴内容
人工智能·python·机器人
jiayong237 小时前
02 创建虚拟环境
python
旺仔来了7 小时前
不联网的Linux下部署python环境
linux·开发语言·python
小江的记录本7 小时前
【JVM虚拟机】垃圾回收GC:垃圾回收算法:标记-清除、标记-复制、标记-整理、分代收集(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·安全·面试
IP搭子来一个7 小时前
爬虫采集大量返回 403、429,到底卡在哪一环?
网络·爬虫·python
deepin_sir7 小时前
06 综合对比与实战选型——到底该用哪个?
python