首页 > 其他分享 >Pandas数据分析Pandas进阶在线闯关_头歌实践教学平台

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

时间:2023-12-06 10:01:52浏览次数:29  
标签:__ 进阶 df 头歌 ###### csv data Pandas



Pandas数据分析进阶

  • 第1关 Pandas 分组聚合
  • 第2关 Pandas 创建透视表和交叉表


第1关 Pandas 分组聚合

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

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

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


测试说明

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


测试输入:无;


预期输出:


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


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

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 内补充代码。
数据集列名信息如下表:

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


测试说明

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


测试输入:无;


预期输出:


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


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

#-*- 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()


标签:__,进阶,df,头歌,######,csv,data,Pandas
From: https://blog.51cto.com/xiaokesong/8699786

相关文章

  • Pandas数据分析Pandas初体验在线闯关_头歌实践教学平台
    Pandas数据分析初体验第1关了解数据处理对象--Series第2关了解数据处理对象-DataFrame第3关读取CSV格式数据第4关数据的基本操作——排序第5关数据的基本操作——删除第6关数据的基本操作——算术运算第7关数据的基本操作——去重第8关数据重塑第1关了解数据处理对象......
  • Day20 Java流程控制02:scanner进阶使用
    Java流程控制02:scanner进阶使用1.判断是否是整数/小数:packagecom.baixiaofan.scanner;importjava.util.Scanner;publicclassDemo04{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);inti=0;fl......
  • pandas concat 左右拼接 ignore_index 容易误以为是忽略index 其实是忽略列名
    pandasconcat左右拼接ignore_index容易误以为是忽略index其实是忽略列名`pandas.concat`函数的`ignore_index`参数是一个布尔值,用于控制是否在拼接轴上使用索引值¹²。如果`ignore_index=True`,则不会使用拼接轴上的索引值,结果轴将被标记为0,…,n-1¹²。这在你拼接......
  • Markdown语法入门与进阶指南
    一、Markdown简介Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(johnGruber)。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。Markdown在线编辑器--一个覆盖广泛主题工具的高......
  • 【Java 进阶篇】Java Request 获取请求体数据详解
    在JavaWeb开发中,获取HTTP请求的请求体数据是一项常见任务。HTTP请求的请求体通常包含了客户端提交的数据,例如表单数据、JSON、XML等。在Java中,可以使用HttpServletRequest对象来获取HTTP请求的请求体数据。本文将详细解释如何使用Java获取HTTP请求的请求体数据,并提供示例代码。HTT......
  • 解释pandas.Series.rename_axis
    https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.rename_axis.html`pandas.Series.rename_axis`是一个用于设置索引或列轴名称的函数¹。以下是该函数的一些参数¹:-`mapper`:可选,标量或类似列表。用于设置轴名称属性的值。-`index`,`columns`:可选,标......
  • 解释 pandas.series.rename函数的每个参数
    `pandas.Series.rename`是一个用于更改Series索引标签或名称的函数¹。以下是该函数的一些参数¹:-`index`:可选,标量,可哈希序列,类似字典或函数。函数或类似字典的对象是应用于索引的转换。标量或可哈希的序列将改变Series的`name`属性¹。-`axis`:默认为0。未使用。需要此......
  • 头歌—密码学基础
    第1关:哈希函数题目任务描述本关任务:利用哈希算法统计每个字符串出现的个数。相关知识为了完成本关任务,你需要掌握:1.密码学哈希函数的概念及特性,2.安全哈希算法。密码学哈希函数的概念及特性我们需要理解的第一个密码学的基础知识是密码学哈希函数,哈希函数是一个数学函数,具......
  • Pandas学习之路【2】
    Pandas数据查询的5种方法:数据准备:importpandasaspdpath='C:\\Users\\zhang\\Desktop\\ant-learn-pandas-master\\datas\\beijing_tianqi\\beijing_tianqi_2018.csv'df=pd.read_csv(path)df.head() #默认的行索引为0,1,2...数字,但是此时我想把ymd......
  • CSS进阶3-transform 动画-渐变(线性渐变、镜像渐变)-关键帧
      1.动画介绍:改变盒子在平面内的形态(平移、缩放、旋转、倾斜)属性: 平移:transform:translate(值1,值2);(默认为X轴,translateY--下移) ——平移依然在原来文档流。  移动:transform:translate......