1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > python数据分析可视化大众点评网餐厅口碑包含数据

python数据分析可视化大众点评网餐厅口碑包含数据

时间:2021-12-02 06:57:14

相关推荐

python数据分析可视化大众点评网餐厅口碑包含数据

部分代码

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

plt.rcParams[“font.sans-serif”] = ‘SimHei’

plt.rcParams[‘axes.unicode_minus’] = False

读入源数据,并查看数据相关信息

data = pd.read_csv(“【数据】大众点评网餐厅口碑数据.csv”, encoding = “gbk”)

print(f"===成功导入\t{data.shape[0]}行数据")

print(data.info())

查看数据各列是空值的情况

print()

print(data.isnull().sum())

由此看出,所有行列数据都有取值,不存在取值为空的情况

===================================================================

Q1: 按District分类,获取平均5星好评率的最高的Top3

print()

data1 = data[[‘District’, ‘ApplauseRate’]] #提取需要的列

print(data1)

data2 = data1.groupby(data[‘District’]).mean() #分类汇总取平均值

print(data2)

data2 = data2.sort_values(by = ‘ApplauseRate’, ascending=False) #排序

print(data2)

def show_ApplauseRate_by_District():

global data2

data2 = data2.reset_index()print(data2)x = data2.Districty = data2.ApplauseRateplt.figure(figsize=(15,7))plt.bar(x, y, width = 0.5, align = "center", label = "平均5星好评率")title = "图1 - 平均5星好评率-District分布"plt.title(title, loc="center", fontsize=16)t = [f'{y1:.02f}' for y1 in y] #取两位小数显示for index in range(len(x)):plt.text(x[index], y[index], t[index], ha = "center", va = "bottom", fontsize = 10)#设置x和y轴的名称plt.xlabel("District", fontsize=12)plt.ylabel("平均5星好评率", fontsize=12)plt.legend(loc='best', fontsize = 12)plt.savefig(title+".png", dpi=300)plt.show()

show_ApplauseRate_by_District()

运行效果

百度网盘获取完整源码及数据

链接:/s/1Xwm8NEmbG6UyyggZLoEOQw?pwd=wsk7

提取码:wsk7

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。