Python三剑客Day4练习题

Python三剑客Day4练习题,第1张

Python三剑客Day4练习题

目录

第四次课作业

(1)读取上次作业保存的数据,酒店数据1.xlsx

(2)查看“评分”的格式,并分别进行升序和降序排序

(3)对酒店按照价格进行排名,计算“油尖旺”地区的均价。

(4)对酒店数据进行描述性统计,并求所有价格的均值方差,最大最小值,中值。

(5)计算评分和价格之间的的相关系数,协方差

(6)按照评分降序排序,评分相同时按价格升序排序。

(7)计算一下,评分小于3分的酒店数量和占比。

(8)计算一下,酒店评分大于等于4分的酒店的价格均值。

(9)计算出每个地区的酒店占总酒店数量的比例。

(10)找出酒店评分人数排名前20的酒店,并计算他们的价格均值。

(11)查看酒店分布的类型数量和地区数量,并统计各个类型和地区包含的酒店数量。

(12)用数据透视表,计算每个类型的酒店的评分人数总数量。

(13)用数据透视表,计算每个类型的酒店价格的均值和标准差

(14)用数据透视表,计算每个地区酒店价格和评分的最大值和最小值

(15)用数据透视表,计算每个地区和类型的酒店的评分的均值和标准差


第四次课作业 (1)读取上次作业保存的数据,酒店数据1.xlsx
#导入pandas和numpy库
import pandas as pd
import numpy as np

#导入表格
df = pd.read_excel('酒店数据1.xlsx')
(2)查看“评分”的格式,并分别进行升序和降序排序
#显示评分这一列的数据类型
df['评分'].dtype

>>>

dtype('float64')


#按照降序排序
df.sort_values(by=['评分'],ascending=False)

>>>

	名字	类型	城市	地区	地点	评分	评分人数	价格
211	香港李女士宾馆(家庭旅馆)(MS LI GUEST HOUSE)	地铁周边	香港	油尖旺	弥敦道58号美丽都大厦E座5字楼E1室	4.9	7	351
333	香港新金冠宾馆(New Golden Crown Guest House)	客栈	香港	油尖旺	尖沙咀弥敦道68号金冠大厦13楼C室	4.9	10	395
19	香港文华东方酒店(Mandarin Oriental Hong Kong)	海滨风光	香港	中西区	中环干诺道中5号	4.8	2452	3609
85	香港丽思卡尔顿酒店(The Ritz-Carlton Hong Kong)	海滨风光	香港	油尖旺	九龙 柯士甸道西1号环球贸易广场	4.8	3553	3450
202	香港风格时尚家庭旅馆(Feng Ge Shi Shang Hotel)	地铁周边	香港	油尖旺	九龙尖沙咀弥敦道99-101号海防大厦10楼1005室	4.8	1375	307
...	...	...	...	...	...	...	...	...
353	香港京华宾馆(佐敦)	地铁周边	香港	其他	九龙佐敦南京街19-21号3楼2/F	2.3	40	328
360	香港港龙酒店(Comfort Lodge Hong Kong)	地铁周边	香港	油尖旺	香港九龙佐敦德兴街7-8号(礼苑,接待处位于A座2楼)	2.2	18	492
280	香港经济型酒店 (家庭旅馆)(Hong Kong Budget Hostel)	地铁周边	香港	油尖旺	弥敦道36-44号重庆大厦10字楼D,E座D8& E2室	2.0	29	67
282	巴黎旅馆(Paris Guest House (D2, 10/F))	其他	香港	其他	Flat D2, 10/F, Block D, Chungking Mansion, 40 ...	2.0	5	67
385	香港中 港酒店(家庭旅馆)(HK-China Hotel)	地铁周边	香港	油尖旺	碧街33-39号永华大厦1楼(油麻地地铁站A1出口直走50米)	1.5	7	429
397 rows × 8 columns

#按照升序排序
df.sort_values(by=['评分'])

>>>

	名字	类型	城市	地区	地点	评分	评分人数	价格
385	香港中 港酒店(家庭旅馆)(HK-China Hotel)	地铁周边	香港	油尖旺	碧街33-39号永华大厦1楼(油麻地地铁站A1出口直走50米)	1.5	7	429
280	香港经济型酒店 (家庭旅馆)(Hong Kong Budget Hostel)	地铁周边	香港	油尖旺	弥敦道36-44号重庆大厦10字楼D,E座D8& E2室	2.0	29	67
282	巴黎旅馆(Paris Guest House (D2, 10/F))	其他	香港	其他	Flat D2, 10/F, Block D, Chungking Mansion, 40 ...	2.0	5	67
360	香港港龙酒店(Comfort Lodge Hong Kong)	地铁周边	香港	油尖旺	香港九龙佐敦德兴街7-8号(礼苑,接待处位于A座2楼)	2.2	18	492
332	香港欣欣宾馆(家庭旅馆)(YAN YAN GUEST HOUSE)	地铁周边	香港	油尖旺	弥敦道40号重庆大厦E座8字楼E1室	2.3	6	977
...	...	...	...	...	...	...	...	...
317	香港尊贵旅馆(Hong Kong Premium Guest House)	其他	香港	油尖旺	尖沙咀弥敦道56-58号美丽都大厦16字楼B2,A5室(前台入住办理设在16字楼A2室)	4.8	19	166
75	香港和平客栈(HK Peaceful Guesthouse)	民宿	香港	其他	尖沙咀弥敦道58号美丽都大厦13楼B1室于13楼C2室登记入住	4.8	511	264
199	香港鸣人宾馆(Naruto Inn)	地铁周边	香港	油尖旺	尖沙咀弥敦道83-97号华源大厦10F B4室	4.8	921	190
333	香港新金冠宾馆(New Golden Crown Guest House)	客栈	香港	油尖旺	尖沙咀弥敦道68号金冠大厦13楼C室	4.9	10	395
211	香港李女士宾馆(家庭旅馆)(MS LI GUEST HOUSE)	地铁周边	香港	油尖旺	弥敦道58号美丽都大厦E座5字楼E1室	4.9	7	351
397 rows × 8 columns
(3)对酒店按照价格进行排名,计算“油尖旺”地区的均价。
#按照价格进行排序
df.sort_values('价格')

>>>

名字	类型	城市	地区	地点	评分	评分人数	价格
385	香港中 港酒店(家庭旅馆)(HK-China Hotel)	地铁周边	香港	油尖旺	碧街33-39号永华大厦1楼(油麻地地铁站A1出口直走50米)	1.5	7	429
280	香港经济型酒店 (家庭旅馆)(Hong Kong Budget Hostel)	地铁周边	香港	油尖旺	弥敦道36-44号重庆大厦10字楼D,E座D8& E2室	2.0	29	67
282	巴黎旅馆(Paris Guest House (D2, 10/F))	其他	香港	其他	Flat D2, 10/F, Block D, Chungking Mansion, 40 ...	2.0	5	67
360	香港港龙酒店(Comfort Lodge Hong Kong)	地铁周边	香港	油尖旺	香港九龙佐敦德兴街7-8号(礼苑,接待处位于A座2楼)	2.2	18	492
332	香港欣欣宾馆(家庭旅馆)(YAN YAN GUEST HOUSE)	地铁周边	香港	油尖旺	弥敦道40号重庆大厦E座8字楼E1室	2.3	6	977
...	...	...	...	...	...	...	...	...
317	香港尊贵旅馆(Hong Kong Premium Guest House)	其他	香港	油尖旺	尖沙咀弥敦道56-58号美丽都大厦16字楼B2,A5室(前台入住办理设在16字楼A2室)	4.8	19	166
75	香港和平客栈(HK Peaceful Guesthouse)	民宿	香港	其他	尖沙咀弥敦道58号美丽都大厦13楼B1室于13楼C2室登记入住	4.8	511	264
199	香港鸣人宾馆(Naruto Inn)	地铁周边	香港	油尖旺	尖沙咀弥敦道83-97号华源大厦10F B4室	4.8	921	190
333	香港新金冠宾馆(New Golden Crown Guest House)	客栈	香港	油尖旺	尖沙咀弥敦道68号金冠大厦13楼C室	4.9	10	395
211	香港李女士宾馆(家庭旅馆)(MS LI GUEST HOUSE)	地铁周边	香港	油尖旺	弥敦道58号美丽都大厦E座5字楼E1室	4.9	7	351
397 rows × 8 columns

#计算“油尖旺”地区的均价
df[df['地区']=='油尖旺'].价格.mean()

>>>

544.3621621621621
(4)对酒店数据进行描述性统计,并求所有价格的均值方差,最大最小值,中值。
df.describe()

>>>

#对酒店数据进行描述
评分	评分人数	价格
count	397.000000	397.000000	397.000000
mean	4.286395	2511.929471	681.659950
std	0.483998	4566.627028	906.282671
min	1.500000	1.000000	67.000000
25%	4.200000	96.000000	247.000000
50%	4.400000	869.000000	418.000000
75%	4.600000	3283.000000	766.000000
max	4.900000	45463.000000	12926.000000

#求价格的均值
df['价格'].mean()

>>>

681.6599496221662

#求价格的方差
df['价格'].var()

>>>

821348.2805383828

#求价格的最大值
df['价格'].max()

>>>

12926

#求价格的最小值
df['价格'].min()

>>>

67

#求价格的中值
df['价格'].median()

>>>

418.0

(5)计算评分和价格之间的的相关系数,协方差
#计算评分和价格之间的的相关系数
df[['评分','价格']].corr()

>>>


评分	价格
评分	1.000000	0.288189
价格	0.288189	1.000000


#计算评分和价格之间的的协方差
df[['评分','价格']].cov()

>>>

	评分	价格
评分	0.234254	126.410832
价格	126.410832	821348.280538
(6)按照评分降序排序,评分相同时按价格升序排序。
df.sort_values(['评分','价格'],ascending=[False,True])

>>>

	名字	类型	城市	地区	地点	评分	评分人数	价格
211	香港李女士宾馆(家庭旅馆)(MS LI GUEST HOUSE)	地铁周边	香港	油尖旺	弥敦道58号美丽都大厦E座5字楼E1室	4.9	7	351
333	香港新金冠宾馆(New Golden Crown Guest House)	客栈	香港	油尖旺	尖沙咀弥敦道68号金冠大厦13楼C室	4.9	10	395
317	香港尊贵旅馆(Hong Kong Premium Guest House)	其他	香港	油尖旺	尖沙咀弥敦道56-58号美丽都大厦16字楼B2,A5室(前台入住办理设在16字楼A2室)	4.8	19	166
199	香港鸣人宾馆(Naruto Inn)	地铁周边	香港	油尖旺	尖沙咀弥敦道83-97号华源大厦10F B4室	4.8	921	190
75	香港和平客栈(HK Peaceful Guesthouse)	民宿	香港	其他	尖沙咀弥敦道58号美丽都大厦13楼B1室于13楼C2室登记入住	4.8	511	264
...	...	...	...	...	...	...	...	...
332	香港欣欣宾馆(家庭旅馆)(YAN YAN GUEST HOUSE)	地铁周边	香港	油尖旺	弥敦道40号重庆大厦E座8字楼E1室	2.3	6	977
360	香港港龙酒店(Comfort Lodge Hong Kong)	地铁周边	香港	油尖旺	香港九龙佐敦德兴街7-8号(礼苑,接待处位于A座2楼)	2.2	18	492
280	香港经济型酒店 (家庭旅馆)(Hong Kong Budget Hostel)	地铁周边	香港	油尖旺	弥敦道36-44号重庆大厦10字楼D,E座D8& E2室	2.0	29	67
282	巴黎旅馆(Paris Guest House (D2, 10/F))	其他	香港	其他	Flat D2, 10/F, Block D, Chungking Mansion, 40 ...	2.0	5	67
385	香港中 港酒店(家庭旅馆)(HK-China Hotel)	地铁周边	香港	油尖旺	碧街33-39号永华大厦1楼(油麻地地铁站A1出口直走50米)	1.5	7	429
(7)计算一下,评分小于3分的酒店数量和占比。
#查看评分小于3分的酒店数量
len(df[df['评分'] < 3])

>>>

12

#查看评分小于3分的酒店占比。
len(df[df['评分'] < 3])/len(df)

>>>

0.030226700251889168
(8)计算一下,酒店评分大于等于4分的酒店的价格均值。
#查看酒店评分大于等于4分的酒店
df[df['评分'] >= 4]

>>>

	名字	类型	城市	地区	地点	评分	评分人数	价格
0	香港嘉湖海逸酒店(Harbour Plaza Resort City)	休闲度假	香港	元朗	天水围 天恩路18号	4.600000	17604	422
1	香港铜锣湾皇悦酒店(Empire Hotel Hong Kong-Causeway Bay)	浪漫情侣	香港	东区	铜锣湾永兴街8号	4.500000	12708	693
2	香港碧荟酒店(The BEACON)	商务出行	香港	油尖旺	九龙旺角洗衣街88号	4.700000	328	747
3	香港湾仔帝盛酒店(Dorsett Wanchai)	浪漫情侣	香港	湾仔	皇后大道东387-397号	4.400000	5014	693
4	如心艾朗酒店(L‘hotel elan)	浪漫情侣	香港	观塘	观塘创业街38号	4.600000	3427	581
...	...	...	...	...	...	...	...	...
391	香港HotelVenus(Hotel Venus)	地铁周边	香港	油尖旺	尖沙咀弥敦道36-40号重庆大厦C座12楼C6室	4.283827	2	172
392	香港金泉酒店	地铁周边	香港	其他	香港旺角弥敦道607号新兴大厦1407室	4.283827	16	245
394	香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre)	海滨风光	香港	荃湾	荃湾 杨屋道8号	4.500000	45462	709
395	香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre)	海滨风光	香港	荃湾	荃湾 杨屋道8号	4.500000	45463	709
396	香港花盈酒店(家庭旅馆)(Bloomy Hotel)	地铁周边	香港	油尖旺	尖沙咀弥敦道87号华源大厦9字楼C2室	4.000000	273	256
340 rows × 8 columns


#查看酒店评分大于等于4分的酒店的价格
df[df['评分'] >= 4]['价格']

>>>

0      422
1      693
2      747
3      693
4      581
      ... 
391    172
392    245
394    709
395    709
396    256
Name: 价格, Length: 340, dtype: int64


#查看酒店评分大于等于4分的酒店的价格均值
df[df['评分'] >= 4]['价格'].mean()

>>>

742.2205882352941
(9)计算出每个地区的酒店占总酒店数量的比例。
#计算出每个地区的酒店占总酒店数量
df['地区'].value_counts()

>>>

油尖旺     185
其他       56
湾仔       41
中西区      33
九龙城      21
东区       16
离岛       11
荃湾        7
观塘        7
葵青        5
南区        5
沙田        4
元朗        2
屯门        2
深水埗区      1
罗湖区       1
Name: 地区, dtype: int64

#计算出每个地区的酒店占总酒店数量的比例
df['地区'].value_counts()/len(df)

>>>

油尖旺     0.465995
其他      0.141058
湾仔      0.103275
中西区     0.083123
九龙城     0.052897
东区      0.040302
离岛      0.027708
荃湾      0.017632
观塘      0.017632
葵青      0.012594
南区      0.012594
沙田      0.010076
元朗      0.005038
屯门      0.005038
深水埗区    0.002519
罗湖区     0.002519
Name: 地区, dtype: float64
(10)找出酒店评分人数排名前20的酒店,并计算他们的价格均值。
df.sort_values('评分人数',
               ascending=False)[:20]['价格'].mean

>>>

.mean of 395     709
394     709
82     1115
91      569
0       422
108    1265
105    1667
86      759
12      562
81     1760
18      358
1       693
138    1278
127    1052
8       692
14     1899
95     1988
92      968
111    3068
120     678
Name: 价格, dtype: int64>
(11)查看酒店分布的类型数量和地区数量,并统计各个类型和地区包含的酒店数量。
#查看酒店分布的类型
df['类型'].unique()

>>>

array(['休闲度假', '浪漫情侣', '商务出行', '海滨风光', '地铁周边', '交通方便', '亲子酒店', '其他', '民宿',
       '印象好', '酒店公寓', '青年旅舍', '客栈', '火车站周边', '老板热情', '环境不错', '干净卫生',
       '大学周边'], dtype=object)

#查看酒店分布的类型数量
len(df['类型'].unique())

>>>

18

#查看酒店分布的地区
df['地区'].unique()

>>>

array(['元朗', '东区', '油尖旺', '湾仔', '观塘', '中西区', '南区', '离岛', '九龙城', '荃湾',
       '屯门', '葵青', '其他', '沙田', '深水埗区', '罗湖区'], dtype=object)

#查看酒店分布的地区数量
len(df['地区'].unique())

>>>

16

#统计各个类型包含的酒店数量
df['类型'].value_counts()

>>>

地铁周边     172
浪漫情侣      68
海滨风光      61
休闲度假      31
其他        20
商务出行      13
民宿         6
酒店公寓       5
亲子酒店       5
青年旅舍       4
客栈         3
环境不错       3
老板热情       1
火车站周边      1
印象好        1
交通方便       1
大学周边       1
干净卫生       1
Name: 类型, dtype: int64


#统计各个地区包含的酒店数量
df['地区'].value_counts()

>>>

油尖旺     185
其他       56
湾仔       41
中西区      33
九龙城      21
东区       16
离岛       11
荃湾        7
观塘        7
葵青        5
南区        5
沙田        4
元朗        2
屯门        2
深水埗区      1
罗湖区       1
Name: 地区, dtype: int64
(12)用数据透视表,计算每个类型的酒店的评分人数总数量。
pd.pivot_table(
    df,index=['类型'],
    values=['评分人数']
)

>>>


评分人数
类型	
交通方便	152.000000
亲子酒店	2298.400000
休闲度假	7653.580645
其他	242.900000
印象好	68.000000
商务出行	740.769231
地铁周边	530.947674
大学周边	23.000000
客栈	76.333333
干净卫生	146.000000
民宿	415.500000
浪漫情侣	3506.411765
海滨风光	6468.852459
火车站周边	578.000000
环境不错	442.333333
老板热情	48.000000
酒店公寓	393.400000
青年旅舍	651.250000
(13)用数据透视表,计算每个类型的酒店价格的均值和标准差
pd.pivot_table(
    df,index=['类型'],
    aggfunc={np.std,np.mean}
)

>>>

	价格	评分	评分人数
mean	std	mean	std	mean	std
类型						
交通方便	421.000000	NaN	4.600000	NaN	152.000000	NaN
亲子酒店	745.400000	546.616227	4.460000	0.219089	2298.400000	1644.163708
休闲度假	1127.774194	827.492707	4.558065	0.123218	7653.580645	4617.273804
其他	269.300000	199.264727	4.008531	0.694831	242.900000	713.793269
印象好	297.000000	NaN	4.700000	NaN	68.000000	NaN
商务出行	1045.153846	870.595663	4.500000	0.158114	740.769231	695.513138
地铁周边	374.139535	377.604830	4.063723	0.576201	530.947674	970.901434
大学周边	325.000000	NaN	4.500000	NaN	23.000000	NaN
客栈	397.666667	154.017315	4.627942	0.314343	76.333333	122.769432
干净卫生	185.000000	NaN	4.300000	NaN	146.000000	NaN
民宿	258.500000	127.000394	4.363971	0.378340	415.500000	352.232168
浪漫情侣	608.573529	303.356119	4.405882	0.170059	3506.411765	2538.455902
海滨风光	1543.573770	1746.828349	4.613115	0.132257	6468.852459	8375.441978
火车站周边	968.000000	NaN	4.600000	NaN	578.000000	NaN
环境不错	357.666667	161.283394	4.366667	0.152753	442.333333	561.250687
老板热情	385.000000	NaN	4.400000	NaN	48.000000	NaN
酒店公寓	1182.000000	697.624899	4.340000	0.181659	393.400000	451.107858
青年旅舍	189.250000	116.851401	4.375000	0.330404	651.250000	620.684233

(14)用数据透视表,计算每个地区酒店价格和评分的最大值和最小值
pd.pivot_table(
    df,index=['地区'],
    values=['价格','评分'],
    aggfunc={np.max,np.min}
)

>>>

	价格	评分
amax	amin	amax	amin
地区				
东区	1908	331	4.700000	4.200000
中西区	12926	254	4.800000	3.800000
九龙城	1742	137	4.800000	3.700000
元朗	425	422	4.600000	4.500000
其他	1450	67	4.800000	2.000000
南区	553	185	4.400000	3.800000
屯门	696	582	4.700000	4.500000
沙田	1052	569	4.700000	4.400000
油尖旺	3862	67	4.900000	1.500000
深水埗区	648	648	4.300000	4.300000
湾仔	2856	131	4.700000	3.400000
离岛	1667	352	4.800000	2.900000
罗湖区	506	506	4.283827	4.283827
荃湾	709	225	4.500000	4.300000
葵青	423	196	4.400000	3.400000
观塘	1132	448	4.600000	4.200000
(15)用数据透视表,计算每个地区和类型的酒店的评分的均值和标准差
pd.pivot_table(
    df,index=['地区','类型'],
    values=['评分'],
    aggfunc={np.mean,np.std}
)

>>>

		评分
mean	std
地区	类型		
东区	其他	4.600000	NaN
商务出行	4.500000	0.000000
客栈	4.283827	NaN
浪漫情侣	4.425000	0.150000
海滨风光	4.512500	0.155265
...	...	...	...
葵青	浪漫情侣	4.200000	0.230940
观塘	休闲度假	4.600000	0.000000
其他	4.200000	NaN
浪漫情侣	4.550000	0.070711
海滨风光	4.500000	0.141421
73 rows × 2 columns

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5579753.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存