酒店数据分析画图

#每个价格等级酒店数量数量的柱状图import pandas as pd
import matplotlib.pyplot as plt# 解决中文乱码问题
plt.rcParams['font.sans-serif']='SimHei'
# # 解决负号无法显示问题
# plt.rcParams['axes.unicode_minus']=Falsedf = pd.read_excel('./酒店数据1.xlsx')
df['价格等级'] = pd.cut(df['价格'],[0,1000,2000,3000,4000,5000,15000],labels=['0——1000元','1000——2000元','2000——3000元','3000——4000元','4000——5000元','5000元以上'])data = df['价格等级'].value_counts()
x = data.index
y = data.values
plt.figure(figsize=(10,6))
plt.bar(x,y,color='r',width=0.8)plt.title('价格等级酒店数量分布',fontsize=20)
plt.xlabel('价格等级',fontsize=18)
plt.ylabel('酒店数量',fontsize=18)#显示每个轴的数字
for a,b in zip(x,y):#第一参数x轴的位置,第二个参数就是y轴的位置,第三个参数显示的文本内容plt.text(a,b,b,ha='center',va='bottom',fontsize=15)plt.show()

#每个价格等级占比的饼图

import pandas as pd
import matplotlib.pyplot as plt# 解决中文乱码问题
plt.rcParams['font.sans-serif']='SimHei'
# # 解决负号无法显示问题
# plt.rcParams['axes.unicode_minus']=Falsedf = pd.read_excel('./酒店数据1.xlsx')
df['价格等级'] = pd.cut(df['价格'],[0,1000,2000,3000,4000,5000,15000],labels=['0——1000元','1000——2000元','2000——3000元','3000——4000元','4000——5000元','5000元以上'])data = df['价格等级'].value_counts()
#print(data)x = data.values
y = x/sum(x)
# print(x)
# print(y)
plt.figure(figsize=(15,10))
plt.pie(y,labels=data.index,autopct='%.1f %%',radius=2)
plt.title('价格等级占比')
#显示图例
plt.legend()
plt.show()

#每个地区酒店数量的柱状图

import pandas as pd
import matplotlib.pyplot as plt# 解决中文乱码问题
plt.rcParams['font.sans-serif']='SimHei'
# # 解决负号无法显示问题
# plt.rcParams['axes.unicode_minus']=Falsedf = pd.read_excel('./酒店数据1.xlsx')
data = df['地区'].value_counts()
x = data.index
y = data.valuesplt.figure(figsize=(10,6))
plt.bar(x,y,color='r',width=0.8)plt.title('各个地区酒店数量分布',fontsize=30)
plt.xlabel('地区',fontsize=20)
plt.ylabel('酒店数量',fontsize=20)#调整x轴竖着显示
plt.xticks(rotation=90)
#显示每个轴的数字
for a,b in zip(x,y):#第一参数x轴的位置,第二个参数就是y轴的位置,第三个参数显示的文本内容plt.text(a,b,b,ha='center',va='bottom',fontsize=15)plt.show()

#每个热门等级酒店评分均值的柱状图

import pandas as pd
import matplotlib.pyplot as plt# 解决中文乱码问题
plt.rcParams['font.sans-serif']='SimHei'
# # 解决负号无法显示问题
# plt.rcParams['axes.unicode_minus']=Falsedf = pd.read_excel('./酒店数据1.xlsx')
df['评分等级'] = pd.cut(df['评分人数'],[0,100,1000,5000,50000],labels=['0——100人','100——1000人','1000——5000人','5000——50000人'])x = df['评分等级'].unique()
y = [df[df['评分等级'] == '0——100人']['评分'].mean(),df[df['评分等级'] == '100——1000人']['评分'].mean(),df[df['评分等级'] == '1000——5000人']['评分'].mean(),df[df['评分等级'] == '5000——50000人']['评分'].mean(),]
plt.figure(figsize=(10,6))
plt.bar(x,y,color='r',width=0.8)plt.title('各热门等级酒店数量分布',fontsize=20)
plt.xlabel('热门等级',fontsize=20)
plt.ylabel('等级酒店评分均分',fontsize=20)#显示每个轴的数字
for a,b in zip(x,y):#第一参数x轴的位置,第二个参数就是y轴的位置,第三个参数显示的文本内容plt.text(a,b,round(b,2),ha='center',va='bottom',fontsize=15)plt.show()

#评分与价格信息的散点图

import matplotlib.pyplot as plt
import pandas as pd# 解决中文乱码问题
plt.rcParams['font.sans-serif']='SimHei'
# # 解决负号无法显示问题
# plt.rcParams['axes.unicode_minus']=Falsedf = pd.read_excel('./酒店数据1.xlsx')x = df['评分']
y = df['价格']plt.scatter(x,y,color='c',marker='h')
plt.title('酒店评分与价格',fontsize=20)
plt.xlabel('评分',fontsize=18)
plt.ylabel('价格',fontsize=18)
plt.show()

#酒店评分的直方图

import pandas as pd
import matplotlib.pyplot as plt# 解决中文乱码问题
plt.rcParams['font.sans-serif']='SimHei'
# # 解决负号无法显示问题
# plt.rcParams['axes.unicode_minus']=Falsedf = pd.read_excel('./酒店数据1.xlsx')
plt.figure(figsize=(7,5))
plt.hist(df['评分'],bins=7,edgecolor='k')plt.title('酒店评分')
plt.xlabel('酒店')
plt.ylabel('评分')
plt.show()


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部