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()
相关推荐
_.Switch16 分钟前
Python机器学习模型的部署与维护:版本管理、监控与更新策略
开发语言·人工智能·python·算法·机器学习
Hoper.J36 分钟前
PyTorch 模型保存与加载的三种常用方式
人工智能·pytorch·python
弱冠少年1 小时前
websockets库使用(基于Python)
开发语言·python·numpy
技术无疆2 小时前
【Python】Streamlit:为数据科学与机器学习打造的简易应用框架
开发语言·人工智能·python·深度学习·神经网络·机器学习·数据挖掘
羊小猪~~2 小时前
机器学习/数据分析--用通俗语言讲解时间序列自回归(AR)模型,并用其预测天气,拟合度98%+
人工智能·python·机器学习·数据挖掘·数据分析·回归·时序数据库
qq_273900232 小时前
解析TMalign文本文件中的转换矩阵
python·生物信息学
阿华的代码王国3 小时前
【JavaEE】——文件IO的应用
开发语言·python
电饭叔3 小时前
《python语言程序设计》2018版第8章19题几何Rectangle2D类(下)-头疼的几何和数学
开发语言·python
程序猿小D4 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa
杰哥在此5 小时前
Python知识点:如何使用Multiprocessing进行并行任务管理
linux·开发语言·python·面试·编程