python练习题(四)

说明:以练习题的方式,学习python基础知识点,主要是数据分析方向常用的numpy、pandas、matplotlib等库对应的练习题。仅供参考,题目来源于网络,如有侵权请联系我删除。

Pandas中的统计分析与透视表:

(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

你可能感兴趣的:(python)