说明:以练习题的方式,学习python基础知识点,主要是数据分析方向常用的numpy、pandas、matplotlib等库对应的练习题。仅供参考,题目来源于网络,如有侵权请联系我删除。
(1)读取上次作业保存的数据,酒店数据1.xlsx
答:读取数据pd.read_excel(),除此外还可以读其他类型数据,比如pd.read_csv()等
import numpy as np
import pandas as pd
data = pd.read_excel('酒店数据1.xlsx')
data.head()
(2)查看“评分”的格式,并分别进行升序和降序排序
答:查看格式,查看元素类型均为.dtype。排序函数sort_values(),升序ascending=True,降序ascending=False。
#查看 评分 的格式
data['评分'].dtype
#升序,默认升序
data.sort_values('评分')
#降序
data.sort_values('评分',ascending=False)
(3)对酒店按照价格进行排名,计算“油尖旺”地区的均价。
答:排序sort_values(),计算均值mean()
#按价格排序
data.sort_values('价格')
#计算某地区均价
data[data['地区']=='油尖旺'].价格.mean()
(4)对酒店数据进行描述性统计,并求所有价格的均值方差,最大最小值,中值。
答:描述性统计函数describe()。
data['价格'].describe()
(5)计算评分和价格之间的的相关系数,协方差
答:相关系数corr(),协方差cov()。
#相关系数计算
data['评分'].corr(data['价格'])
#协方差计算
data['评分'].cov(data['价格'])
(6)按照评分降序排序,评分相同时按价格升序排序。
答:多个属性排序,且排序方式不同。
data.sort_values(['评分','价格'],ascending=(False,True))
(7)计算一下,评分小于3分的酒店数量和占比。
答:统计数量可以调用count()函数,或者用len()函数。
#评分小于3的数据量
len(data[data['评分']<3])
#占比
len(data[data['评分']<3])/len(data)
(8)计算一下,酒店评分大于等于4分的酒店的价格均值。
data[data['评分']>=4].价格.mean()
(9)计算出每个地区的酒店占总酒店数量的比例。
答:value_counts()方法是Series类型的方法,DataFrame类型没有。但是DataFrame类型有count()方法。
#每个地区酒店的数量
data['地区'].value_counts()
#占比
data['地区'].value_counts()/len(data)
(10)找出酒店评分人数排名前20的酒店,并计算他们的价格均值。
答:使用切片实现排名前20,计算均值用mean()。
data.sort_values('评分人数',ascending=False)[:20]['价格'].mean()
(11)查看酒店分布的类型数量和地区数量,并统计各个类型和地区包含的酒店数量。
#查看类型
data['类型'].unique()
#类型的数量
len(data['类型'].unique())
#查看地区
data['地区'].unique()
#查看地区数量
len(data['地区'].unique())
#统计各个类型和地区包含的酒店数量
data['类型'].value_counts()
data['地区'].value_counts()
(12)用数据透视表,计算每个类型的酒店的评分人数总数量。
答:数据透视表pd.pivot_table(参数1[数据],参数2[index索引],参数3[values值],其他参数方法等)
pd.pivot_table(data,index=['类型'],values=['评分人数'],aggfunc=np.sum)
(13)用数据透视表,计算每个类型的酒店价格的均值和标准差
pd.pivot_table(data,index=['类型'],values=['价格'],aggfunc=[np.mean,np.std])
(14)用数据透视表,计算每个地区酒店价格和评分的最大值和最小值
pd.pivot_table(data,index=['类型'],values=['价格','评分'],aggfunc=[np.max,np.min])
(15)用数据透视表,计算每个地区和类型的酒店的评分的均值和标准差
pd.pivot_table(data,index=['地区','类型'],values=['评分'],aggfunc=[np.mean,np.std])
注:第四部分结束。如果想自己练习,可以到我的百度网盘下载原题,使用Jupyter notebook自己写python代码实现。加油哦!
百度网盘题目地址:https://pan.baidu.com/s/1A7JFRdaBYLlnFVn6xT_SOg