实验报告1 小费数据分析(包含描述性-数据可视化)

devtools/2024/10/19 6:28:02/

实验报告1 小费数据分析

实验内容

小费数据分析

实验思路:读取数据-数据预处理-探索性数据分析(描述性统计分析)-分组分析-可视化分析-特征工程

实验环境工具:VS code

编程语言:python

实验原理:

(用到pandas库的哪些基本概念和方法?这些方法分别是什么作用?)

在上述代码中,我们使用了以下一些pandas的基本概念和方法:

1. 读取数据:

   - pd.read_csv('restaurant_data.csv'): 从CSV文件中读取数据到一个DataFrame对象。

2. 数据预处理:

   - df['tip_pct'] = df['tip'] / df['total_bill']: 创建一个新的列,计算小费率。

3. 探索性数据分析:

   - df.describe(): 输出DataFrame的基本统计指标,如平均值、标准差、最大值等。

   - df.hist(column='total_bill', bins=20): 绘制总账单金额的直方图

   - df.corr(): 计算DataFrame中各列之间的相关系数矩阵。

4. 分组分析:

   - df.groupby('sex')['total_bill'].mean(): 按性别分组,计算每组的平均总账单金额。

   - df.pivot_table(index='sex', columns='smoker', values='total_bill', aggfunc='mean'): 创建一个透视表,展示不同性别和吸烟状况下的平均总账单金额。

5. 可视化分析:

   - sns.scatterplot(x='total_bill', y='tip', data=df): 绘制总账单金额与小费之间的散点图。

   - sns.barplot(x='sex', y='tip_pct', data=df): 绘制性别与小费率之间的条形图。

6. 特征工程:

   - df['is_dinner'] = (df['time'] == 'Dinner').astype(int): 创建一个新的二值特征,表示是否为晚餐。

   - df['party_size'] = df['size']: 将'size'列重命名为'party_size'。

7. 假设检验:

   - from scipy.stats import ttest_ind: 导入独立样本t检验。

   - male_tips = df.loc[df['sex'] == 'Male', 'tip_pct']: 提取男性客户的小费率。

   - female_tips = df.loc[df['sex'] == 'Female', 'tip_pct']: 提取女性客户的小费率。

   - t_stat, p_value = ttest_ind(male_tips, female_tips): 进行t检验,得到p值。

   - print(f'p-value for sex difference in tip percentage: {p_value:.3f}'): 输出p值结果。

通过这些基本的pandas概念和方法,我们能够高效地完成数据加载、预处理、探索性分析、特征工程、模型构建和假设检验等常见的数据分析任务。这些方法为我们提供了强大的数据操作和

实验步骤:

(复制代码至此处,并作必要的注释。)

这个代码示例涵盖了数据预处理、探索性分析、分组分析、可视化、特征工程、模型构建和假设检验等常见的数据分析步骤。

实验结论:

(从对小费数据进行分析之后,得到什么结论?)

#这部分导入了所需的Python,包括Pandas用于数据操作、NumPy用于数值计算、Seaborn用于数据可视化、Matplotlib用于绘图,以及SciPy用于进行统计检验。

import pandas as pd

import numpy as np


http://www.ppmy.cn/devtools/22649.html

相关文章

统一建模语言UML图

uml 图定义 Unified Modeling Language(统一建模语言,UML)是一种用于软件系统设计和建模的标准化语言。它提供了一套图形化的符号和约定,用于描述软件系统的结构、行为和交互,以及系统与外部环境之间的关系。UML通常用…

怎么给字符串字段加索引?

怎么给字符串字段加索引? 现在,几乎所有的系统都支持邮箱登录,如何在邮箱这样的字段上建立合理的索引,是我们今天要讨论的问题。 假设,你现在维护一个支持邮箱登录的系统,用户表是这么定义的: …

代谢组数据分析五:溯源分析

MetOrigin Analysis {#MetOriginAnalysis} 微生物群及其代谢产物与人类健康和疾病密切相关。然而,理解微生物组和代谢物之间复杂的相互作用是具有挑战性的。 在研究肠道代谢物时,代谢物的来源是一个无法避免的问题即代谢物到底是来自肠道微生物的代谢还是宿主本身代谢产生的…

单例模式,懒汉和饿汉模式的区别以及实现方法

1.单例模式 单例模式是一种“经典的,常用的,常考的”设计模式。那么什么是设计模式? IT行业这么火,涌入的人很多,俗话说林子大了啥鸟都有,大佬的菜鸟们两极分化越来越严重,为了让菜鸟们不太拖…

第六十五章 Apache 的替代选项 (Windows) - 替代选项 2:带有 NSD 的 Apache API 模块 (mod_csp24.dll)

文章目录 第六十五章 Apache 的替代选项 (Windows) - 替代选项 2:带有 NSD 的 Apache API 模块 (mod_csp24.dll)替代选项 2:带有 NSD 的 Apache API 模块 (mod_csp24.dll)映射其他文件类型使用 Apache API 和 NSD 操作和管理 Web 网关 第六十五章 Apache…

截取视频第一帧当做封面

看了好多处理视频的框架 比如ffmpeg&#xff0c;很多都需要依赖安装第三方插件&#xff0c;比较麻烦&#xff0c;找到一个内嵌进去不需要额外安装的&#xff1a;jcodec 一 首先代码中添加依赖 <!--视频生成预览图用--><dependency><groupId>org.jcodec</…

计算机网络——初识网络

一、局域网与广域网 1.局域网&#xff08;LAN&#xff09; 局域网&#xff1a;即Local Area Network&#xff0c;简称LAN。Local即标识了局域⽹是本地&#xff0c;局部组建的⼀种私有⽹络。局域⽹内的主机之间能⽅便的进⾏⽹络通信&#xff0c;⼜称为内⽹&#xff1b;局域⽹和…

顺序表与链表的区别

顺序表&#xff1a; 优点&#xff1a; 1.支持下标随机访问 2.cpu高数缓存命中率高 缺点&#xff1a; 1.前面元素的删除插入效率低下 2.扩容时会有效率的损失和空间的损失 链表&#xff1a; 优点&#xff1a; 1.任意位置的插入删除效率都高 2.按需申请空间&#xff0c;…