目录
第四次课作业
(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 >>>(11)查看酒店分布的类型数量和地区数量,并统计各个类型和地区包含的酒店数量。.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>
#查看酒店分布的类型 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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)