当前位置: 代码网 > it编程>前端脚本>Python > Python数据分析~~美食排行榜

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

2024年08月02日 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)

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com