栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

酒店数据分析画图

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

酒店数据分析画图

#每个价格等级酒店数量数量的柱状图

import pandas as pd
import matplotlib.pyplot as plt

# 解决中文乱码问题
plt.rcParams['font.sans-serif']='SimHei'
# # 解决负号无法显示问题
# plt.rcParams['axes.unicode_minus']=False

df = 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']=False

df = 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']=False

df = pd.read_excel('./酒店数据1.xlsx')
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=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']=False


df = 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']=False

df = 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']=False

df = 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()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/619231.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号