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)
相关推荐
这里有鱼汤1 小时前
【花姐小课堂】新手也能秒懂!用「风险平价」打造扛造的投资组合
后端·python
databook14 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar16 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805116 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_16 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
RestCloud16 小时前
数据传输中的三大难题,ETL 平台是如何解决的?
数据分析·api
数据智能老司机1 天前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机1 天前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机1 天前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机1 天前
精通 Python 设计模式——性能模式
python·设计模式·架构