您的位置:首页 > 汽车 > 新车 > Python数据分析~~美食排行榜

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

2024/11/17 17:26:26 来源:https://blog.csdn.net/binhyun/article/details/140363073  浏览:    关键词: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)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com