这十套练习,教你如何用Pandas做数据分析(01)

news2024/11/24 12:44:23

Pandas是入门Python做数据分析所必须要掌握的一个库。本文内容由和鲸社区翻译整理自Github,建议读者完成科赛网 从零上手Python关键代码 和 Pandas基础命令速查表 教程学习的之后,点击本篇Notebook右上角的 Fork 按钮对本教程代码进行调试学习。

转载本文请联系 和鲸社区 取得授权,和鲸社区 是聚合数据人才和行业问题的在线社区,率先打造国内首款在线数据分析协作平台ModelWhale,为数据工作者的学习与工作带来全新的体验。

练习1-开始了解你的数据

探索Chipotle快餐数据
在这里插入图片描述
步骤1 导入必要的库

运行以下代码

import pandas as pd
步骤2 从如下地址导入数据集

运行以下代码

path1 = “…/input/pandas_exercise/pandas_exercise/exercise_data/chipotle.tsv” # chipotle.tsv
步骤3 将数据集存入一个名为chipo的数据框内

运行以下代码

chipo = pd.read_csv(path1, sep = ‘\t’)
步骤4 查看前10行内容

运行以下代码

chipo.head(10)
order_id quantity item_name choice_description item_price
0 1 1 Chips and Fresh Tomato Salsa NaN $2.39
1 1 1 Izze [Clementine] $3.39
2 1 1 Nantucket Nectar [Apple] $3.39
3 1 1 Chips and Tomatillo-Green Chili Salsa NaN $2.39
4 2 2 Chicken Bowl [Tomatillo-Red Chili Salsa (Hot), [Black Beans… $16.98
5 3 1 Chicken Bowl [Fresh Tomato Salsa (Mild), [Rice, Cheese, Sou… $10.98
6 3 1 Side of Chips NaN $1.69
7 4 1 Steak Burrito [Tomatillo Red Chili Salsa, [Fajita Vegetables… $11.75
8 4 1 Steak Soft Tacos [Tomatillo Green Chili Salsa, [Pinto Beans, Ch… $9.25
9 5 1 Steak Burrito [Fresh Tomato Salsa, [Rice, Black Beans, Pinto… $9.25
步骤6 数据集中有多少个列(columns)

运行以下代码

chipo.shape[1]
5
步骤7 打印出全部的列名称

运行以下代码

chipo.columns
Index([‘order_id’, ‘quantity’, ‘item_name’, ‘choice_description’,
‘item_price’],
dtype=‘object’)
步骤8 数据集的索引是怎样的

运行以下代码

chipo.index
RangeIndex(start=0, stop=4622, step=1)
步骤9 被下单数最多商品(item)是什么?

运行以下代码,做了修正

c = chipo[[‘item_name’,‘quantity’]].groupby([‘item_name’],as_index=False).agg({‘quantity’:sum})
c.sort_values([‘quantity’],ascending=False,inplace=True)
c.head()
item_name quantity
17 Chicken Bowl 761
18 Chicken Burrito 591
25 Chips and Guacamole 506
39 Steak Burrito 386
10 Canned Soft Drink 351
步骤10 在item_name这一列中,一共有多少种商品被下单?

运行以下代码

chipo[‘item_name’].nunique()
50
步骤11 在choice_description中,下单次数最多的商品是什么?

运行以下代码,存在一些小问题

chipo[‘choice_description’].value_counts().head()
[Diet Coke] 134
[Coke] 123
[Sprite] 77
[Fresh Tomato Salsa, [Rice, Black Beans, Cheese, Sour Cream, Lettuce]] 42
[Fresh Tomato Salsa, [Rice, Black Beans, Cheese, Sour Cream, Guacamole, Lettuce]] 40
Name: choice_description, dtype: int64
步骤12 一共有多少商品被下单?

运行以下代码

total_items_orders = chipo[‘quantity’].sum()
total_items_orders
4972
步骤13 将item_price转换为浮点数

运行以下代码

dollarizer = lambda x: float(x[1:-1])
chipo[‘item_price’] = chipo[‘item_price’].apply(dollarizer)
步骤14 在该数据集对应的时期内,收入(revenue)是多少

运行以下代码,已经做更正

chipo[‘sub_total’] = round(chipo[‘item_price’] * chipo[‘quantity’],2)
chipo[‘sub_total’].sum()
39237.02
步骤15 在该数据集对应的时期内,一共有多少订单?

运行以下代码

chipo[‘order_id’].nunique()
1834
步骤16 每一单(order)对应的平均总价是多少?

运行以下代码,已经做过更正

chipo[[‘order_id’,‘sub_total’]].groupby(by=[‘order_id’]
).agg({‘sub_total’:‘sum’})[‘sub_total’].mean()
21.39423118865867
步骤17 一共有多少种不同的商品被售出?

运行以下代码

chipo[‘item_name’].nunique()
50

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/80164.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(附源码)SSM的KTV管理系统 毕业设计 291807

基于SSM的KTV管理系统 摘 要 随着社会的发展,人类的进步,21世纪人们的生活水平有所提高,为了满足人们对生活的需要,丰富业余生活,娱乐KTV等行业蓬勃发展,在数字化的今天,我们已离不开计算机&…

Redis的面试题

一、Redis支持的数据类型? Redis支持的数据类型主要有五种:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorte…

opencv图像特征

图像特征类型可以分为如下三种: 边缘角点(感兴趣关键点)斑点(感兴趣区域) 其中,角点是个很特殊的存在。如果某一点在任意方向的一个微小变动都会引起灰度很大的变化,我们就把它称之为角点。角点…

17、Redis6.0新功能

文章目录17、Redis6.0新功能17.1 ACL17.1.1 简介17.1.2 命令17.2 IO多线程17.2.1 简介17.2.2 原理架构17.3 工具支持 Cluster17.4 Redis新功能持续关注Redis 6 入门到精通-讲师:王泽 世态炎凉,世界并不善良 17、Redis6.0新功能 17.1 ACL 17.1.1 简介 …

如何利用场追迹控制衍射的包含

1. 摘要 VirtualLab Fusion包括一系列建模方法便于用户可以地调整光学仿真的精度级别和时间。不仅如此,这种功能还有助于隔离物理原因产生的不同影响。在本示例中,我们提出了一个清晰的工作流程配置一个仿真,以便在物理光学模拟中考虑或忽略衍…

MOSFET 和 IGBT 栅极驱动器电路的基本原理学习笔记(六)变压器耦合栅极驱动

变压器耦合栅极驱动 1.单端变压器耦合栅极驱动电路 2.双端变压器耦合栅极驱动 在高电压栅极驱动 IC 出现以前,使用栅极驱动变压器是唯一一种在离线或类似高电压电路中驱动高侧开关的可行解决方案。 现在,两种解决方案同时存在并且各有利弊,…

基础数据结构线性表

基础数据结构 1.基础概念 数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素的集合。它包含三方面的内容,逻辑关系、存储关系以及操作。 一般而言,数据结构的选择首先会从抽象数据类型…

springboot整合Canal实时同步数据库表

一、Canal介绍 1、应用场景 在前面的统计分析功能中,我们采取了服务调用获取统计数据,这样耦合度高,效率相对较低,目前我采取另一种实现方式,通过实时同步数据库表的方式实现,例如我们要统计每天注册与登…

语雀的技术栈与富文本编辑讨论分享

目录前言什么是语雀富文本编辑器的发展历程语雀结构简析语雀核心语雀渲染器语雀前端技术业务层编辑器语雀编辑器演化过程语雀研发流程关于语雀的讨论为何文档编写不是一种标准化的中台能力内容类产品典型类别业务所需编辑器开发成本如何?文本编辑器代码编辑器公式编…

[附源码]Python计算机毕业设计SSM基于的网上拍卖系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

13.javase_动漫美女拼图实战

资料地址:https://cowtransfer.com/s/4573fe572f9c4a 项目效果: 练习编程逻辑思维,提高和锻炼自己能力。 一. 绘制游戏界面 1.1窗体绘制 第一个方法:initFrame(),用于窗体的基本设置 public void initFrame() { thi…

每天一个面试题:悲观锁、乐观锁,对比Hashtable和concurrentHashMap

每天一个面试题:悲观锁、乐观锁Hashtable和concurrentHashMap总结开始全新的学习,沉淀才会有产出,一步一脚印! 面试题系列搞起来,这个专栏并非单纯的八股文,我会在技术的基础上,Debug解析&#…

戴维南定理(Thevenin‘s theorem)

戴维南定理:含独立电源的线性电阻单口网络N,就端口特性而言,可以等效为一个电压源和电阻串联的单口网络。电压源的电压等于单口网络在负载开路时的电压uoc;电阻R0是单口网络内全部独立电源为零值时所得单口网络N0的等效电阻。 例子…

JavaScript基本语法

1.JavaScript词法结构 所谓词法结构是指一套基础性规则,用来描述如何使用这门语言来编写程序,包括如下几项: 字符集unicode 区分大小写 (true和TRUE) 忽略空白字符(空格、制表符和换行符&#xff09…

UG鼠标和键盘操作

UG鼠标和键盘操作角色操作鼠标操作选择放大/缩小旋转平移确认适合窗口正视于X/Y/Z视图显示样式九宫图设置键盘操作ESCF8角色操作 角色包含了用户的自定义配置,包括内容、演示、快捷键、工具栏等,通过:菜单-首选项-用户界面-角色 进行导入导出…

【C语言程序设计】实验 8

目录 1. 整数排序 2. 二维数组按每行数据之和升序 3. 字符串排序 4. 二维数组各行元素之和 5. 二位整数数组交换两行 6. 插入排序 7. 10进制转2进制&#xff0c;8进制和16进制数&#xff08;数组&#xff09; 1. 整数排序 【问题描述】从键盘输入n(0<n<21)个整…

微服务同时接入多个Kafka

准备工作 自己搭建一个Kafka 从官方下载Kafka&#xff0c;选择对应Spring Boot 的版本&#xff0c;好在Kafka支持的版本范围比较广&#xff0c;当前最新版本是3.2.1,支持2.12-3.2.1 范围的版本&#xff0c;覆盖了Spring Boot 2.0x-Spring Boot 3.0.x。Apache Kafka 解压安装 …

CMake中target_compile_definitions的使用

CMake中的target_compile_definitions命令用于向target添加编译定义&#xff0c;其格式如下&#xff1a; target_compile_definitions(<target><INTERFACE|PUBLIC|PRIVATE> [items1...][<INTERFACE|PUBLIC|PRIVATE> [items2...] ...]) 指定在编译给定的<…

网络原理初识

网络原理初识 文章目录网络原理初识网络发展历程独立模式网络互联IP地址端口号网络协议OSI七层TCP/ IP协议封装与分用封装一.应用层二.传输层三.网络层四.数据链路层五.物理层分用六.物理层七.数据链路层八.网络层九.传输层十.应用层网络发展历程 独立模式 一开始电脑之间是相…

【InnoDB ClusterSet】快速部署

快速部署 InnoDB ClusterSet 文章目录快速部署 InnoDB ClusterSet前言前期准备架构设计部署过程1. 使用配置账号通过 MySQL Shell 连接到 InnoDB Cluster 任一成员2. 为主 InnoDB Cluster 实例设置变量3. 创建以当前集群作为主集群的 ClusterSet4. 为每个独立服务器实例添加配置…