Python数据分析~~美食排行榜

目录

1.模块的导入和路径的选择

2.访问前面五行数据

3.按照条件进行筛选

4.获取店铺评分里面的最高分

5.打印对应的店铺的名字


1.模块的导入和路径的选择

复制代码
# 导入pandas模块,简称为pd
import pandas as pd
# 使用read_csv()函数
# TODO 读取路径"/Users/feifei/hotpot.csv"的文件,并赋值给变量df
df=pd.read_csv(r"C:\Users\32565\AppData\Local\Temp\ac96d06d-2a12

这个路径一定要选择正确,其实我对于这个路径并不是很理解,所以刚刚刚开始进行测试的时候就遇到了很多的报错,这个路径不是这个csv文件的路径,而是在这个vscode里面打开这个文件之后的路径,在这个文件里面打开的时候,显示的是D盘,但是在vscode上面打开之后,这个路径就成为了C盘,虽然我不知道为什么,但是这个使用C盘的路径才是正确的;

2.访问前面五行数据

(1)这个里面我们是使用的head函数,这个函数可以写参数,也可以不写参数,不写参数就是默认取出来这个文件里面的前面的五行数据,如果想要取出来更多的数据,我们就需要去添加这个对应的参数;

复制代码
# TODO 使用head()函数,访问df第1行到第5行的数据,并赋值给变量top_5
top_5=df.head()
# TODO 输出前5行数据
print(top_5)

3.按照条件进行筛选

(1)这个背景开始的时候没有进行介绍,实际上这个文件里面是一些美食店铺的排行榜,我们要查找的就是这个鱼店的,因此我们要冲这个里面把不是鱼店的店铺剔除掉,因为这个里面的美食,除了鱼类,肯定还有其他的类型啊,str.contains就是把这个参数放进去,表示我们只想要选择带"鱼"字的店铺名字,这个相当于就缩小了数据的范围;

复制代码
# TODO 使用列索引和str.contains()函数
# 创建判断"店铺名称"列中的数据包含"鱼"的判断条件,并赋值给变量fishpot
fishpot = df[df["店铺名称"].str.contains("鱼")]

# TODO 输出fishpot,查看结果
print(fishpot)

4.获取店铺评分里面的最高分

(1)这个里面是使用的max函数,打印的结果就是这个所有相关的店铺的最高分(带鱼的)

复制代码
import pandas as pd
# 使用read_csv()函数
# 读取路径"/Users/feifei/hotpot.csv"的文件,并赋值给变量df
df = pd.read_csv("/Users/feifei/hotpot.csv")

# 使用列索引和str.contains()函数
# 创建判断"店铺名称"列中的数据包含"鱼"的判断条件,并赋值给变量fishpot
fishpot = df[df["店铺名称"].str.contains("鱼")]

# TODO 获取"口味评分"列的最大值,并赋值给taste
taste = fishpot["口味评分"].max()
# TODO 输出taste
print(taste)

5.打印对应的店铺的名字

(1)我们上面的打印结果是这个店里面的评分的最高分数,我们如果想要得到这个店铺的名字,就需要使用函数set_index设置对应的行索引:

复制代码
# 导入pandas模块,简称为pd
import pandas as pd
# 使用read_csv()函数
# 读取路径"/Users/feifei/hotpot.csv"的文件,并赋值给变量df
df = pd.read_csv("/Users/feifei/hotpot.csv")

# 使用列索引和str.contains()函数
# 创建判断"店铺名称"列中的数据包含"鱼"的判断条件,并赋值给变量fishpot
fishpot = df[df["店铺名称"].str.contains("鱼")]

# 将店铺名称设置为行索引,将新的Dataframe赋值给变量fishpot2
fishpot2 = fishpot.set_index("店铺名称")

# TODO 获取评分最高的行索引,也就是店铺名称
tasteBest = fishpot2["口味评分"].idxmax()

# 输出tasteBest
print(tasteBest)

(2)idmax函数会打印这个评分最高的行索引

6.索引的重置

(1)我们获得这个店铺的名称之后,这个还需要还原为dataframe格式,也就是二维的列表格式,这个时候我们需要使用reset_index()函数进行这个索引的重置;

复制代码
# 导入pandas模块,简称为pd
import pandas as pd
# 使用read_csv()函数
# 读取路径"/Users/feifei/hotpot.csv"的文件,并赋值给变量df
df = pd.read_csv("/Users/feifei/hotpot.csv")

# 使用列索引和str.contains()函数
# 创建判断"店铺名称"列中的数据包含"鱼"的判断条件,并赋值给变量fishpot
fishpot = df[df["店铺名称"].str.contains("鱼")]

# 将店铺名称设置为行索引,将新的Dataframe赋值给变量fishpot2
fishpot2 = fishpot.set_index("店铺名称")

# 获取评分最高的行索引,也就是店铺名称
tasteBest = fishpot2["口味评分"].idxmax()

# TODO 重置索引,还原dataframe
fishpot3 = fishpot2.reset_index()
# 输出fishpot3
print(fishpot3)
相关推荐
PiaoKe___1 小时前
云手机原理与 Python 自动化实战:ADB 批量控制、任务调度与落地建议
服务器·arm开发·python·自动化
Gigavision8 小时前
基于BUAA-MIHR数据集的噪声解耦对比学习算法
人工智能·python·深度学习·算法
IPdodo_8 小时前
跨境 API 调用不稳定怎么办:出口、超时重试与链路监控的实践
网络·python·网络协议
Madison-No78 小时前
搭建项目测试环境
linux·运维·服务器·python
计算机编程-吉哥9 小时前
YOLO26 vs YOLO11 vs YOLOv8:深度学习咖啡果实成熟度分割系统【计算机毕业设计选题推荐】
人工智能·python·深度学习·yolo·django·毕业设计
大衛說9 小时前
11 · 异常处理与日志
python
auto_go10 小时前
Python 实战指南(7)——账本动不动就崩?先把“魔法字符串”和“裸报错”干掉
python
Beyond_System|系统之外10 小时前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
根目录下的猫10 小时前
RK3588适配的轻量级AI模型推荐
人工智能·后端·python·目标检测
wno70411 小时前
Spring Security权限控制
java·python·spring