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()
相关推荐
kjkdd1 分钟前
6.1 核心组件(Agent)
python·ai·语言模型·langchain·ai编程
小镇敲码人8 分钟前
剖析CANN框架中Samples仓库:从示例到实战的AI开发指南
c++·人工智能·python·华为·acl·cann
萧鼎9 分钟前
Python 包管理的“超音速”革命:全面上手 uv 工具链
开发语言·python·uv
alvin_20051 小时前
python之OpenGL应用(二)Hello Triangle
python·opengl
铁蛋AI编程实战1 小时前
通义千问 3.5 Turbo GGUF 量化版本地部署教程:4G 显存即可运行,数据永不泄露
java·人工智能·python
jiang_changsheng1 小时前
RTX 2080 Ti魔改22GB显卡的最优解ComfyUI教程
python·comfyui
0思必得02 小时前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化
沈浩(种子思维作者)2 小时前
系统要活起来就必须开放包容去中心化
人工智能·python·flask·量子计算
2301_790300962 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_736919102 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python