本文是视频Python数据分析三剑客 数学建模基础 numpy、pandas、matplotlib的学习笔记。
————————————————————————————————————————————————————
pandas是一种基于Numpy的工具
pandas包的引入:
import pandas as pd
import numpy as np
series : 一维数组,可保存不同种数据类型
DataFrame : 二维的表格型数据结构,可看作series的容器
s=pd.Series([1,3,5,np.nan,6,8])
s
0 1.0
1 3.0
2 5.0
3 NaN
4 6.0
5 8.0
dtype: float64
s=pd.Series([1,3,5,np.nan,6,8],index=['a','b','c','d','e','f'])
s
a 1.0
b 3.0
c 5.0
d NaN
e 6.0
f 8.0
dtype: float64
s.index
Index(['a', 'b', 'c', 'd', 'e', 'f'], dtype='object')
s.values
array([ 1., 3., 5., nan, 6., 8.])
s[2]
5.0
s[2:5]
c 5.0
d NaN
e 6.0
dtype: float64
s[::2]
a 1.0
c 5.0
e 6.0
dtype: float64
s.index.name="索引"
s
索引
a 1.0
b 3.0
c 5.0
d NaN
e 6.0
f 8.0
dtype: float64
s.index=list([1,2,3,4,5,6])
s
1 1.0
2 3.0
3 5.0
4 NaN
5 6.0
6 8.0
dtype: float64
s.index=list('abcedf')
s['a':'c']
a 1.0
b 3.0
c 5.0
dtype: float64
date=pd.date_range('20210128',periods=6)
print(date)
DatetimeIndex(['2021-01-28', '2021-01-29', '2021-01-30', '2021-01-31',
'2021-02-01', '2021-02-02'],
dtype='datetime64[ns]', freq='D')
df=pd.DataFrame(np.random.randn(6,4))
df
0 1 2 3
0 0.627261 -0.776131 0.495415 -0.029275
1 0.671373 0.278222 -0.603066 -0.866833
2 -0.991224 -1.028955 1.921942 -0.402303
3 -0.885962 1.168009 -1.104759 -1.478723
4 0.288599 -0.085186 -0.860440 -1.903465
5 -0.826311 0.557032 -0.599272 0.293506
df=pd.DataFrame(np.random.randn(6,4),index=date,columns=list('ABCD'))
df
A B C D
2021-01-28 0.431498 0.805697 -0.134194 0.879668
2021-01-29 0.140056 0.428193 -0.628229 0.956076
2021-01-30 -0.953365 -0.142609 -0.476448 1.458110
2021-01-31 0.316369 -1.861203 0.122656 0.396402
2021-02-01 -0.101479 -2.128830 -0.384932 0.029569
2021-02-02 0.910300 -1.192472 -0.479991 -0.090318
默认情况下,不指定index参数和columns参数,他们的值将用从0开始的数字替代
case是列名称,每列格式要相同,列与列之前不一定相同
key值为数据,每个key代表一列,其value可以是各种可以转换为Series的对象
df2=pd.DataFrame({"a":1.2,"b":pd.Timestamp('20200202'),"c":pd.Series(1,index=list(range(4)),dtype=float),"d":np.array([3]*4,dtype=int),"e":pd.Categorical(["test","train","test","train"]),"f":'abc'})
df2
a b c d e f
0 1.2 2020-02-02 1.0 3 test abc
1 1.2 2020-02-02 1.0 3 train abc
2 1.2 2020-02-02 1.0 3 test abc
3 1.2 2020-02-02 1.0 3 train abc
head和tail方法可以分别查看最前面几行和最后面几行的数据(默认为5):
df.head()
A B C D
2021-01-28 0.431498 0.805697 -0.134194 0.879668
2021-01-29 0.140056 0.428193 -0.628229 0.956076
2021-01-30 -0.953365 -0.142609 -0.476448 1.458110
2021-01-31 0.316369 -1.861203 0.122656 0.396402
2021-02-01 -0.101479 -2.128830 -0.384932 0.029569
最后三行:
df.tail(3)
A B C D
2021-01-31 0.316369 -1.861203 0.122656 0.396402
2021-02-01 -0.101479 -2.128830 -0.384932 0.029569
2021-02-02 0.910300 -1.192472 -0.479991 -0.090318
df2.dtypes
a float64
b datetime64[ns]
c float64
d int32
e category
f object
dtype: object
df.index
DatetimeIndex(['2021-01-28', '2021-01-29', '2021-01-30', '2021-01-31',
'2021-02-01', '2021-02-02'],
dtype='datetime64[ns]', freq='D')
df.columns
Index(['A', 'B', 'C', 'D'], dtype='object')
df.values
array([[ 0.43149789, 0.80569688, -0.13419407, 0.87966773],
[ 0.14005632, 0.42819346, -0.62822854, 0.95607551],
[-0.95336494, -0.14260946, -0.47644814, 1.45810952],
[ 0.31636926, -1.86120334, 0.12265634, 0.3964021 ],
[-0.1014788 , -2.12883016, -0.38493237, 0.02956909],
[ 0.91029952, -1.19247174, -0.47999106, -0.09031817]])
文件名前r
的作用:避免\
被识别为转义字符
df=pd.read_excel(r'C:\Users\丁丁sama\Desktop\数据\豆瓣电影数据.xlsx')
注意:
若文件名与工作文件属于同一文件夹路径下,可不写文件路径
加入参数index_col=0即可解决,例:
df=pd.read_excel('香港酒店数据.xlsx',index_col=0)
参考:解决问题:pandas读取或者写入csv文件会多出现一列----Unnamed:0
df.iloc[1]
名字 控方证人
投票人数 42995
类型 剧情/悬疑/犯罪
产地 美国
上映时间 1957-12-17 00:00:00
时长 116
年代 1957
评分 9.5
首映地点 美国
Name: 1, dtype: object
df.iloc[0:5]
Unnamed: 0 名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
0 0 肖申克的救赎 692795.0 剧情/犯罪 美国 1994-09-10 00:00:00 142 1994 9.6 多伦多电影节
1 1 控方证人 42995.0 剧情/悬疑/犯罪 美国 1957-12-17 00:00:00 116 1957 9.5 美国
2 2 美丽人生 327855.0 剧情/喜剧/爱情 意大利 1997-12-20 00:00:00 116 1997 9.5 意大利
3 3 阿甘正传 580897.0 剧情/爱情 美国 1994-06-23 00:00:00 142 1994 9.4 洛杉矶首映
4 4 霸王别姬 478523.0 剧情/爱情/同性 中国大陆 1993-01-01 00:00:00 171 1993 9.4 香港
也可以使用loc,注意是左闭右闭
df.loc[0:5]
Unnamed: 0 名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
0 0 肖申克的救赎 692795.0 剧情/犯罪 美国 1994-09-10 00:00:00 142 1994 9.6 多伦多电影节
1 1 控方证人 42995.0 剧情/悬疑/犯罪 美国 1957-12-17 00:00:00 116 1957 9.5 美国
2 2 美丽人生 327855.0 剧情/喜剧/爱情 意大利 1997-12-20 00:00:00 116 1997 9.5 意大利
3 3 阿甘正传 580897.0 剧情/爱情 美国 1994-06-23 00:00:00 142 1994 9.4 洛杉矶首映
4 4 霸王别姬 478523.0 剧情/爱情/同性 中国大陆 1993-01-01 00:00:00 171 1993 9.4 香港
5 5 泰坦尼克号 157074.0 剧情/爱情/灾难 美国 2012-04-10 00:00:00 194 2012 9.4 中国大陆
注意:添加时候中英文字符的转换,误用中文字符很容易报错,建议在IDE中写好再粘贴至notebook
dit={'名字':'工作细胞','投票人数':123456,'类型':'动画','产地':'日本','上映时间':'2018-04-10 00:00:00','时长':125,'年代':2018,'评分':np.nan,'首映地点':'日本'}
s=pd.Series(dit)
s.name=38738
s
写入空值时使用np.nan
函数
名字 工作细胞
投票人数 123456
类型 动画
产地 日本
上映时间 2018-04-10 00:00:00
时长 125
年代 2018
评分 NaN
首映地点 日本
Name: 38738, dtype: object
df=df.append(s)
df.tail()
名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
38733 神学院 S 46.0 Adult 法国 1905-06-05 00:00:00 58 1983 8.6 美国
38735 血溅画屏 95.0 剧情/悬疑/犯罪/武侠/古装 中国大陆 1905-06-08 00:00:00 91 1986 7.1 美国
38736 魔窟中的幻想 51.0 惊悚/恐怖/儿童 中国大陆 1905-06-08 00:00:00 78 1986 8.0 美国
38737 列宁格勒围困之星火战役 Блокада: Фильм 2: Ленинградский ме... 32.0 剧情/战争 苏联 1905-05-30 00:00:00 97 1977 6.6 美国
38738 工作细胞 123456.0 动画 日本 2018-04-10 00:00:00 125 2018 NaN 日本
df=df.drop([38738])
df.tail()
名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
38732 极乐森林 45.0 纪录片 美国 1986-09-14 00:00:00 90 1986 8.1 美国
38733 神学院 S 46.0 Adult 法国 1905-06-05 00:00:00 58 1983 8.6 美国
38735 血溅画屏 95.0 剧情/悬疑/犯罪/武侠/古装 中国大陆 1905-06-08 00:00:00 91 1986 7.1 美国
38736 魔窟中的幻想 51.0 惊悚/恐怖/儿童 中国大陆 1905-06-08 00:00:00 78 1986 8.0 美国
38737 列宁格勒围困之星火战役 Блокада: Фильм 2: Ленинградский ме... 32.0 剧情/战争 苏联 1905-05-30 00:00:00 97 1977 6.6 美国
df.columns
Index(['Unnamed: 0', '名字', '投票人数', '类型', '产地', '上映时间', '时长', '年代', '评分',
'首映地点'],
dtype='object')
df['名字'][:5]
0 肖申克的救赎
1 控方证人
2 美丽人生
3 阿甘正传
4 霸王别姬
Name: 名字, dtype: object
df[['名字','类型']][:5]
名字 类型
0 肖申克的救赎 剧情/犯罪
1 控方证人 剧情/悬疑/犯罪
2 美丽人生 剧情/喜剧/爱情
3 阿甘正传 剧情/爱情
4 霸王别姬 剧情/爱情/同性
df['序号']=range(1,len(df)+1)
df[:5]
Unnamed: 0 名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点 序号
0 0.0 肖申克的救赎 692795.0 剧情/犯罪 美国 1994-09-10 00:00:00 142 1994 9.6 多伦多电影节 1
1 1.0 控方证人 42995.0 剧情/悬疑/犯罪 美国 1957-12-17 00:00:00 116 1957 9.5 美国 2
2 2.0 美丽人生 327855.0 剧情/喜剧/爱情 意大利 1997-12-20 00:00:00 116 1997 9.5 意大利 3
3 3.0 阿甘正传 580897.0 剧情/爱情 美国 1994-06-23 00:00:00 142 1994 9.4 洛杉矶首映 4
4 4.0 霸王别姬 478523.0 剧情/爱情/同性 中国大陆 1993-01-01 00:00:00 171 1993 9.4 香港 5
df=df.drop("序号",axis=1)
df[:5]
Unnamed: 0 名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
0 0.0 肖申克的救赎 692795.0 剧情/犯罪 美国 1994-09-10 00:00:00 142 1994 9.6 多伦多电影节
1 1.0 控方证人 42995.0 剧情/悬疑/犯罪 美国 1957-12-17 00:00:00 116 1957 9.5 美国
2 2.0 美丽人生 327855.0 剧情/喜剧/爱情 意大利 1997-12-20 00:00:00 116 1997 9.5 意大利
3 3.0 阿甘正传 580897.0 剧情/爱情 美国 1994-06-23 00:00:00 142 1994 9.4 洛杉矶首映
4 4.0 霸王别姬 478523.0 剧情/爱情/同性 中国大陆 1993-01-01 00:00:00 171 1993 9.4 香港
df.loc[[index],[column]],通过标签选择数据
df.loc[1,'名字']
'控方证人'
df.loc[[1,3,5,7,9],['名字','评分']]
名字 评分
1 控方证人 9.5
3 阿甘正传 9.4
5 泰坦尼克号 9.4
7 新世纪福音战士剧场版:Air/真心为你 新世紀エヴァンゲリオン劇場版 Ai 9.4
9 这个杀手不太冷 9.4
选取产地为美国的所有电影
df[df['产地']=='美国'][:5]
Unnamed: 0 名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
0 0.0 肖申克的救赎 692795.0 剧情/犯罪 美国 1994-09-10 00:00:00 142 1994 9.6 多伦多电影节
1 1.0 控方证人 42995.0 剧情/悬疑/犯罪 美国 1957-12-17 00:00:00 116 1957 9.5 美国
3 3.0 阿甘正传 580897.0 剧情/爱情 美国 1994-06-23 00:00:00 142 1994 9.4 洛杉矶首映
5 5.0 泰坦尼克号 157074.0 剧情/爱情/灾难 美国 2012-04-10 00:00:00 194 2012 9.4 中国大陆
6 6.0 辛德勒的名单 306904.0 剧情/历史/战争 美国 1993-11-30 00:00:00 195 1993 9.4 华盛顿首映
选取产地为美国,且评分大于9分的所有电影
df[(df.产地=='美国')&(df.评分>9)][:5]
Unnamed: 0 名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
0 0.0 肖申克的救赎 692795.0 剧情/犯罪 美国 1994-09-10 00:00:00 142 1994 9.6 多伦多电影节
1 1.0 控方证人 42995.0 剧情/悬疑/犯罪 美国 1957-12-17 00:00:00 116 1957 9.5 美国
3 3.0 阿甘正传 580897.0 剧情/爱情 美国 1994-06-23 00:00:00 142 1994 9.4 洛杉矶首映
5 5.0 泰坦尼克号 157074.0 剧情/爱情/灾难 美国 2012-04-10 00:00:00 194 2012 9.4 中国大陆
6 6.0 辛德勒的名单 306904.0 剧情/历史/战争 美国 1993-11-30 00:00:00 195 1993 9.4 华盛顿首映
选取产地为美国或者中国大陆,且评分大于9分的所有电影
df[((df.产地=='美国')|(df.产地=='中国大陆'))&(df.评分>9)][:5]
Unnamed: 0 名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
0 0.0 肖申克的救赎 692795.0 剧情/犯罪 美国 1994-09-10 00:00:00 142 1994 9.6 多伦多电影节
1 1.0 控方证人 42995.0 剧情/悬疑/犯罪 美国 1957-12-17 00:00:00 116 1957 9.5 美国
3 3.0 阿甘正传 580897.0 剧情/爱情 美国 1994-06-23 00:00:00 142 1994 9.4 洛杉矶首映
4 4.0 霸王别姬 478523.0 剧情/爱情/同性 中国大陆 1993-01-01 00:00:00 171 1993 9.4 香港
5 5.0 泰坦尼克号 157074.0 剧情/爱情/灾难 美国 2012-04-10 00:00:00 194 2012 9.4 中国大陆
方法 | 说明 |
---|---|
dropna | 根据标签中缺失值进行过滤,删除缺失值 |
fillna | 对缺失值进行填充 |
isnull | 返回布尔值对象,判断哪些是缺失值 |
notnull | isnull的否定式 |
df.isnull()
Unnamed: 0 名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
0 False False False False False False False False False False
1 False False False False False False False False False False
2 False False False False False False False False False False
3 False False False False False False False False False False
4 False False False False False False False False False False
... ... ... ... ... ... ... ... ... ... ...
38733 False False False False False False False False False False
38735 False False False False False False False False False False
38736 False False False False False False False False False False
38737 False False False False False False False False False False
38738 True False False False False False False False False False
38738 rows × 10 columns
df[df['名字'].isnull()][:10]
Unnamed: 0 名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
231 231.0 NaN 144.0 纪录片/音乐 韩国 2011-02-02 00:00:00 90 2011 9.7 美国
361 361.0 NaN 80.0 短片 其他 1905-05-17 00:00:00 4 1964 5.7 美国
369 369.0 NaN 5315.0 剧情 日本 2004-07-10 00:00:00 111 2004 7.5 日本
372 372.0 NaN 263.0 短片/音乐 英国 1998-06-30 00:00:00 34 1998 9.2 美国
374 374.0 NaN 47.0 短片 其他 1905-05-17 00:00:00 3 1964 6.7 美国
375 375.0 NaN 1193.0 短片/音乐 法国 1905-07-01 00:00:00 10 2010 7.7 美国
411 411.0 NaN 32.0 短片 其他 1905-05-17 00:00:00 3 1964 7.0 美国
432 432.0 NaN 1081.0 剧情/动作/惊悚/犯罪 美国 2016-02-26 00:00:00 115 2016 6.0 美国
441 441.0 NaN 213.0 恐怖 美国 2007-03-06 00:00:00 83 2007 3.2 美国
448 448.0 NaN 110.0 纪录片 荷兰 2002-04-19 00:00:00 48 2000 9.3 美国
df[df['评分'].isnull()]
名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
38738 工作细胞 123456.0 动画 日本 2018-04-10 00:00:00 125 2018 NaN 日本
df['评分'].fillna(np.mean(df['评分']),inplace=True)
df[-5:]
名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
38733 神学院 S 46.0 Adult 法国 1905-06-05 00:00:00 58 1983 8.600000 美国
38735 血溅画屏 95.0 剧情/悬疑/犯罪/武侠/古装 中国大陆 1905-06-08 00:00:00 91 1986 7.100000 美国
38736 魔窟中的幻想 51.0 惊悚/恐怖/儿童 中国大陆 1905-06-08 00:00:00 78 1986 8.000000 美国
38737 列宁格勒围困之星火战役 Блокада: Фильм 2: Ленинградский ме... 32.0 剧情/战争 苏联 1905-05-30 00:00:00 97 1977 6.600000 美国
38738 工作细胞 123456.0 动画 日本 2018-04-10 00:00:00 125 2018 6.935687 日本
df1=df.fillna('未知电影')#所有空值都会被填充
df1[df1['名字'].isnull()]
名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
df.dropna()
参数:
len(df)
38176
df2=df.dropna()
len(df2)
38175
df.dropna(inplace=True)#inplace会覆盖之前值
df
名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
0 肖申克的救赎 692795.0 剧情/犯罪 美国 1994-09-10 00:00:00 142 1994 9.600000 多伦多电影节
1 控方证人 42995.0 剧情/悬疑/犯罪 美国 1957-12-17 00:00:00 116 1957 9.500000 美国
2 美丽人生 327855.0 剧情/喜剧/爱情 意大利 1997-12-20 00:00:00 116 1997 9.500000 意大利
3 阿甘正传 580897.0 剧情/爱情 美国 1994-06-23 00:00:00 142 1994 9.400000 洛杉矶首映
4 霸王别姬 478523.0 剧情/爱情/同性 中国大陆 1993-01-01 00:00:00 171 1993 9.400000 香港
... ... ... ... ... ... ... ... ... ...
38733 神学院 S 46.0 Adult 法国 1905-06-05 00:00:00 58 1983 8.600000 美国
38735 血溅画屏 95.0 剧情/悬疑/犯罪/武侠/古装 中国大陆 1905-06-08 00:00:00 91 1986 7.100000 美国
38736 魔窟中的幻想 51.0 惊悚/恐怖/儿童 中国大陆 1905-06-08 00:00:00 78 1986 8.000000 美国
38737 列宁格勒围困之星火战役 Блокада: Фильм 2: Ленинградский ме... 32.0 剧情/战争 苏联 1905-05-30 00:00:00 97 1977 6.600000 美国
38738 工作细胞 123456.0 动画 日本 2018-04-10 00:00:00 125 2018 6.935687 日本
38175 rows × 9 columns
异常值即数据集中不合理的值,又称离群点,如年龄为-1,人数为1.2等
df[df.投票人数<0]
名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
19777 皇家大贼 皇家大 -80.0 剧情/犯罪 中国香港 1985-05-31 00:00:00 60 1985 6.3 美国
19786 日本的垃圾去中国大陆 にっぽんの“ゴミ” 大陆へ渡る ~中国式リサイクル錬 -80.0 纪录片 日本 1905-06-26 00:00:00 60 2004 7.9 美国
19797 女教徒 -118.0 剧情 法国 1966-05-06 00:00:00 135 1966 7.8 美国
对于异常值一般数量很少,在不影响整体数据分部的情况下,可以直接进行删除,或者找原始数据进行修正。
查找投票人数不为整数的数:
df[df['投票人数']%1!=0]
名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
19791 女教师 女教 8.30 剧情/犯罪 日本 1977-10-29 00:00:00 100 1977 6.6 日本
19804 女郎漫游仙境 ドレミファ娘の血は騒 5.90 喜剧/歌舞 日本 1985-11-03 00:00:00 80 1985 6.7 日本
19820 女仆日记 12.87 剧情 法国 2015-04-01 00:00:00 96 2015 5.7 法国
38055 逃出亚卡拉 12.87 剧情/动作/惊悚/犯罪 美国 1979-09-20 00:00:00 112 1979 7.8 美国
df=df[df.投票人数>0]
df=df[df['投票人数']%1==0]
df[df['投票人数']%1!=0]
名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
df[df.投票人数<0]
名字 投票人数 类型 产地 上映时间 时长 年代 评分 首映地点
数据处理后,将数据保存到movie_data.xlsx表格
df.to_excel("movie_data.xlsx")
data={'state':['a','b','c','d'], 'year':[1991,1992,1993,1994], 'pop':[6,7,8,9]}
df=pd.DataFrame(data)
df
state year pop
0 a 1991 6
1 b 1992 7
2 c 1993 8
3 d 1994 9
data={'state':['a','b','c','d'], 'year':[1991,1992,1993,1994], 'pop':[6,7,8,9]}
df1=pd.DataFrame(data,index=list('ABCD'))
df1.index.name='索引'
df1
索引 state year pop
A a 1991 6
B b 1992 7
C c 1993 8
D d 1994 9
dit={'state':'p', 'year':2001, 'pop':2}
s=pd.Series(dit)
s.name='E'
df1=df1.append(s)
df1
索引 state year pop
A a 1991 6
B b 1992 7
C c 1993 8
D d 1994 9
E p 2001 2
df1=df1.drop(['E'])
df1
索引 state year pop
A a 1991 6
B b 1992 7
C c 1993 8
D d 1994 9
df1['port']=np.ones(len(df1),dtype=int)
df1
索引 state year pop
A a 1991 6 1
B b 1992 7 1
C c 1993 8 1
D d 1994 9 1
df1[(df1['year']==1991)|(df1['year']==1994)]
索引 state year pop
A a 1991 6 1
D d 1994 9 1
df1[['state','year']]
索引 state year
A a 1991
B b 1992
C c 1993
D d 1994
df1.dtypes
df1['pop']*=2
df1
索引 state year pop
A a 1991 12 1
B b 1992 14 1
C c 1993 16 1
D d 1994 18 1
df=pd.read_excel('香港酒店数据.xlsx',index_col=0)
df
字段1 字段2 字段3 字段4 字段5 字段6 字段7 字段8
NaN NaN NaN NaN NaN NaN NaN NaN NaN
0.0 香港嘉湖海逸酒店(Harbour Plaza Resort City) 休闲度假 香港 元朗 天水围 天恩路18号 4.6 17604.0 422.0
1.0 香港铜锣湾皇悦酒店(Empire Hotel Hong Kong-Causeway Bay) 浪漫情侣 香港 东区 铜锣湾永兴街8号 4.5 12708.0 693.0
2.0 香港碧荟酒店(The BEACON) 商务出行 香港 油尖旺 九龙旺角洗衣街88号 4.7 328.0 747.0
3.0 香港湾仔帝盛酒店(Dorsett Wanchai) 浪漫情侣 香港 湾仔 皇后大道东387-397号 4.4 5014.0 693.0
... ... ... ... ... ... ... ... ...
415.0 香港天天宾馆(TIN TIN GUEST HOUSE) 地铁周边 香港 油尖旺 旺角弥敦道607号新兴大厦1517A 3.2 16.0 227.0
416.0 香港AMR宾馆(AMR Hostel) 地铁周边 香港 NaN 尖沙咀弥敦道58号美丽都大厦6字楼A12室 NaN NaN 977.0
417.0 香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre) 海滨风光 香港 荃湾 荃湾 杨屋道8号 4.5 45462.0 709.0
418.0 香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre) 海滨风光 香港 荃湾 荃湾 杨屋道8号 4.5 45463.0 709.0
419.0 香港花盈酒店(家庭旅馆)(Bloomy Hotel) 地铁周边 香港 油尖旺 尖沙咀弥敦道87号华源大厦9字楼C2室 4.0 273.0 256.0
421 rows × 8 columns
a=['名字','类型','城市','地区','地点','评分','评分人数','价格']
df.columns=a
df
名字 类型 城市 地区 地点 评分 评分人数 价格
NaN NaN NaN NaN NaN NaN NaN NaN NaN
0.0 香港嘉湖海逸酒店(Harbour Plaza Resort City) 休闲度假 香港 元朗 天水围 天恩路18号 4.6 17604.0 422.0
1.0 香港铜锣湾皇悦酒店(Empire Hotel Hong Kong-Causeway Bay) 浪漫情侣 香港 东区 铜锣湾永兴街8号 4.5 12708.0 693.0
2.0 香港碧荟酒店(The BEACON) 商务出行 香港 油尖旺 九龙旺角洗衣街88号 4.7 328.0 747.0
3.0 香港湾仔帝盛酒店(Dorsett Wanchai) 浪漫情侣 香港 湾仔 皇后大道东387-397号 4.4 5014.0 693.0
... ... ... ... ... ... ... ... ...
415.0 香港天天宾馆(TIN TIN GUEST HOUSE) 地铁周边 香港 油尖旺 旺角弥敦道607号新兴大厦1517A 3.2 16.0 227.0
416.0 香港AMR宾馆(AMR Hostel) 地铁周边 香港 NaN 尖沙咀弥敦道58号美丽都大厦6字楼A12室 NaN NaN 977.0
417.0 香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre) 海滨风光 香港 荃湾 荃湾 杨屋道8号 4.5 45462.0 709.0
418.0 香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre) 海滨风光 香港 荃湾 荃湾 杨屋道8号 4.5 45463.0 709.0
419.0 香港花盈酒店(家庭旅馆)(Bloomy Hotel) 地铁周边 香港 油尖旺 尖沙咀弥敦道87号华源大厦9字楼C2室 4.0 273.0 256.0
421 rows × 8 columns
df[df.类型=='浪漫情侣']
名字 类型 城市 地区 地点 评分 评分人数 价格
1.0 香港铜锣湾皇悦酒店(Empire Hotel Hong Kong-Causeway Bay) 浪漫情侣 香港 东区 铜锣湾永兴街8号 4.5 12708.0 693.0
3.0 香港湾仔帝盛酒店(Dorsett Wanchai) 浪漫情侣 香港 湾仔 皇后大道东387-397号 4.4 5014.0 693.0
4.0 如心艾朗酒店(L‘hotel elan) 浪漫情侣 香港 观塘 观塘创业街38号 4.6 3427.0 581.0
5.0 香港隆堡柏宁顿酒店(Hotel Pennington by Rhombus) 浪漫情侣 香港 湾仔 铜锣湾边宁顿街13-15号 4.5 1938.0 869.0
20.0 香港恒丰酒店(Prudential Hotel) 浪漫情侣 香港 油尖旺 尖沙嘴 弥敦道222号 4.5 8194.0 692.0
... ... ... ... ... ... ... ... ...
234.0 香港金坊宾馆(GOLD PALACE HOTEL) 浪漫情侣 香港 NaN 香港油尖旺区九龙旺角弥敦道607号新兴大厦22字楼2201室 4.7 436.0 245.0
240.0 香港登台酒店(HOTEL STAGE) 浪漫情侣 香港 油尖旺 佐敦志和街1号 4.7 962.0 1084.0
246.0 香港红茶馆酒店(鸭脷洲大街店)(Bridal Tea House Hotel (Ap Lei... 浪漫情侣 香港 南区 港岛鸭脷洲大街95号 4.2 1203.0 377.0
247.0 香港乐仕酒店(Acesite Knutsford Hotel) 浪漫情侣 香港 油尖旺 九龙尖沙咀天文台围8号 4.2 1879.0 237.0
259.0 香港旺角新天地酒店(Mong Kok Sunny Day Hotel) 浪漫情侣 香港 油尖旺 香港九龍旺角新填地街419號 4.3 784.0 949.0
69 rows × 8 columns
df[(df.类型=='浪漫情侣')&(df.地区=='湾仔')]
名字 类型 城市 地区 地点 评分 评分人数 价格
3.0 香港湾仔帝盛酒店(Dorsett Wanchai) 浪漫情侣 香港 湾仔 皇后大道东387-397号 4.4 5014.0 693.0
5.0 香港隆堡柏宁顿酒店(Hotel Pennington by Rhombus) 浪漫情侣 香港 湾仔 铜锣湾边宁顿街13-15号 4.5 1938.0 869.0
23.0 香港南洋酒店(South Pacific Hotel) 浪漫情侣 香港 湾仔 摩理臣山道23号 4.5 7981.0 445.0
35.0 香港遨舍卫兰轩(OZO Wesley Hong Kong) 浪漫情侣 香港 湾仔 湾仔轩尼诗道22号 4.6 3283.0 871.0
67.0 香港星网商务精品酒店(Wifi Boutique Hotel) 浪漫情侣 香港 湾仔 湾仔 骆克道366号 4.4 1527.0 412.0
72.0 香港丽骏酒店(Brighton Hotel Hong Kong) 浪漫情侣 香港 湾仔 湾仔骆克道128号 4.5 2383.0 1152.0
123.0 香港逸兰精品酒店(Lanson Place Hotel) 浪漫情侣 香港 湾仔 铜锣湾礼顿道133号 4.7 2053.0 1349.0
128.0 香港珀丽酒店(Rosedale Hotel Hong Kong) 浪漫情侣 香港 湾仔 铜锣湾信德街8号 4.4 7342.0 457.0
133.0 英皇骏景酒店(香港湾仔店)(The Emperor Hotel) 浪漫情侣 香港 湾仔 皇后大道东373号 4.5 1040.0 526.0
159.0 香港华丽铜锣湾酒店(原香港华丽精品酒店)(Best Western Hotel Causew... 浪漫情侣 香港 湾仔 铜锣湾坚拿道西祥和里 4.2 5707.0 309.0
160.0 香港铜锣湾智选假日酒店(Holiday Inn Express Hong Kong Caus... 浪漫情侣 香港 湾仔 铜锣湾 霎东街33号 4.5 4550.0 774.0
182.0 香港问月酒店(Mira Moon Hong Kong) 浪漫情侣 香港 湾仔 谢斐道388号 4.5 1044.0 1282.0
183.0 帆船精品酒店(VELA BOUTIQUE HOTEL) 浪漫情侣 香港 湾仔 摩理臣山道84-86号 4.2 2063.0 413.0
184.0 铜锣湾迷你精品酒店(Mini Hotel Causeway Bay) 浪漫情侣 香港 湾仔 铜锣湾新会道8号 4.3 4882.0 368.0
217.0 香港君临海域酒店(Gloucester Hotel) 浪漫情侣 香港 湾仔 铜锣湾告士打道218号 4.5 2324.0 957.0
df[((df.地区=='观塘')|(df.地区=='油尖旺'))&(df.评分>4)]
名字 类型 城市 地区 地点 评分 评分人数 价格
2.0 香港碧荟酒店(The BEACON) 商务出行 香港 油尖旺 九龙旺角洗衣街88号 4.7 328.0 747.0
4.0 如心艾朗酒店(L‘hotel elan) 浪漫情侣 香港 观塘 观塘创业街38号 4.6 3427.0 581.0
6.0 海景嘉福洲际酒店(InterContinental Grand Stanford Hong ... 海滨风光 香港 油尖旺 尖沙咀東部麽地道70号 4.7 4366.0 1296.0
8.0 香港富豪九龙酒店(Regal Kowloon Hotel) 休闲度假 香港 油尖旺 尖沙嘴麽地道71号 4.5 11265.0 692.0
10.0 香港广易商务宾馆(家庭旅馆)(WIDE EVER HOSTEL) 地铁周边 香港 油尖旺 九龙旺角弥敦道607号新兴大厦14楼16单位 4.1 1029.0 218.0
... ... ... ... ... ... ... ... ...
363.0 香港珊瑚酒店(家庭旅馆)((Coral Inn)(Hostel)) 地铁周边 香港 油尖旺 香港九龙尖沙咀弥敦道83-97号华源大厦9/F十楼D2室 4.4 149.0 379.0
372.0 香港意乐旅馆(eLog Inn) 地铁周边 香港 油尖旺 佐敦道22号鸿运大厦4字楼H室 4.3 155.0 237.0
378.0 香港牛津尊贵旅舍(Oxford Premium Guest House) NaN 香港 油尖旺 尖沙咀弥敦道56-58号美丽都大厦16字楼A2室 4.7 15.0 NaN
379.0 香港恒好宾馆(Hang Ho Hostel) 地铁周边 香港 油尖旺 九龙弥敦道242号立信大厦6字楼B室 4.5 142.0 445.0
395.0 香港御珑馆(家庭旅馆)(Hotel Conext) 地铁周边 香港 油尖旺 九龙弥敦道240号立信大厦3楼B室 4.2 359.0 317.0
139 rows × 8 columns
df[df['类型'].isnull()]
名字 类型 城市 地区 地点 评分 评分人数 价格
NaN NaN NaN NaN NaN NaN NaN NaN NaN
39.0 香港颐庭酒店(铜锣湾店)(Eco Tree Hotel Causeway Bay) NaN 香港 东区 铜锣湾水星街15号 4.6 15.0 567.0
187.0 工業家酒店(IND Hotel) NaN 香港 观塘 九龙观塘观塘道326号 4.2 6.0 448.0
200.0 香港永倫800酒店(WINLAND800HOTEL) NaN 香港 葵青 新界青衣路一号 3.4 3098.0 196.0
241.0 香港港湾酒店(Hong Kong Harbor Hotel) NaN 香港 南区 香港仔石排湾道47号 3.8 709.0 259.0
268.0 香港奥斯酒店(O‘ Hotel) NaN 香港 九龙城 香港九龙土瓜湾九龙城道42-46号 3.7 869.0 369.0
284.0 巴黎旅馆(Paris Guest House (D2, 10/F)) NaN 香港 NaN Flat D2, 10/F, Block D, Chungking Mansion, 40 ... 2.0 5.0 67.0
300.0 香港海景渡假乐园(Hong Kong Seaview Holiday Resort) NaN 香港 离岛 大屿山梅窝东湾头路11号 2.9 5.0 881.0
301.0 香港海边小屋(The Cove Hostel) NaN 香港 离岛 大屿山塘福村17D,1-2字楼 NaN 2.0 352.0
304.0 香港和平宾馆(HK Peace Guest House) NaN 香港 NaN 尖沙咀弥敦道58号美丽都大厦13楼A5室 NaN NaN 201.0
306.0 香港文苑宾馆(Man Yuen Hotel) NaN 香港 油尖旺 旺角弥敦道737号金轮大厦二楼H室 4.7 5.0 169.0
315.0 墨尔本宾馆(Melbourne Hostel) NaN 香港 NaN 九龙尖沙咀弥敦道40号重庆大厦E座10字楼E1室 NaN 2.0 93.0
318.0 香港百丽旅馆(Park Guest House) NaN 香港 油尖旺 九龙尖沙咀海防道53至55号海防大厦1楼10号 NaN 6.0 445.0
321.0 香港尊贵旅馆(Hong Kong Premium Guest House) NaN 香港 油尖旺 尖沙咀弥敦道56-58号美丽都大厦16字楼B2,A5室(前台入住办理设在16字楼A2室) 4.8 19.0 166.0
322.0 香港美华宾馆(Mei Wah Guest House) NaN 香港 NaN 九龙旺角弥敦道737号金轮大厦9字楼F座 4.0 27.0 250.0
323.0 香港威尼斯宾馆 NaN 香港 NaN 香港油尖旺区旺角弥顿道580号恒隆大厦4楼 4.7 48.0 298.0
327.0 80后潘多拉旅馆(香港佐敦店)(原华丰宾馆)(Pandora After 80s Jordan) NaN 香港 油尖旺 九龙佐敦佐敦道15号华丰大厦1字楼H室 3.1 36.0 70.0
335.0 香港Primo旅馆(Primo Guesthouse) NaN 香港 NaN 九龙尖沙咀弥敦道40号重庆大厦E座3字楼E3室 NaN 1.0 131.0
337.0 纳里旅馆(Narli Guest House) NaN 香港 油尖旺 尖沙咀弥敦道36-44号重庆大厦16字楼D座D8室 NaN NaN 175.0
343.0 香港宿雾宾馆(Cebu Hotel) NaN 香港 NaN 弥敦道36-44号重庆大厦A座17字楼A6 & A7室 NaN 1.0 113.0
348.0 美丽宾馆(Lily Guest House) NaN 香港 NaN 九龙尖沙咀弥敦道40号重庆大厦E座8字楼E3室(于E座8楼E1室登记入住) NaN NaN 165.0
364.0 全球旅舍(Global Inn) NaN 香港 NaN 弥敦道36-44号重庆大厦C座6楼C2室 (登记前台於E座8楼E1室) NaN 2.0 165.0
371.0 珠峰宾馆(Everest Guest House (3/F)) NaN 香港 NaN 九龙尖沙咀弥敦道40号重庆大厦D座3字楼5-6室 NaN 1.0 181.0
378.0 香港牛津尊贵旅舍(Oxford Premium Guest House) NaN 香港 油尖旺 尖沙咀弥敦道56-58号美丽都大厦16字楼A2室 4.7 15.0 NaN
381.0 香港俄罗斯旅舍(Russian Hostel) NaN 香港 NaN 香港九龙弥敦道40号重庆大厦D座16楼1室 NaN NaN 175.0
384.0 尊贵闲庭酒店(Premium Lounge) NaN 香港 NaN Flat A6 & A7, 16/F, Block A, Chungking Mansion... NaN 1.0 166.0
399.0 香港新天天酒店(Everyday Inn Hotel) NaN 香港 油尖旺 佐敦庙街230-236号韶兴大厦5字楼B座 NaN NaN 350.0
403.0 伍德斯托克旅馆(Woodstock Hostel) NaN 香港 NaN Flat A1-A6, 16/F, Block A, Chungking Mansions,... NaN NaN 172.0
404.0 旅客宾馆(Traveller‘s Hostel) NaN 香港 NaN 九龙尖沙咀弥敦道40号重庆大厦A座16字楼A1& A2室 NaN NaN 269.0
405.0 欧若旅馆(Euro Hostel) NaN 香港 NaN Flat 6, Block D, 17/F, Chungking Mansion, NaN NaN 174.0
406.0 香港Prestige旅馆(Prestige Guesthouse) NaN 香港 NaN 弥敦道40号重庆大厦E座3字楼E1室 NaN NaN 122.0
411.0 香港兰涛度假屋(Lantau Lodge) NaN 香港 荃湾 大屿山水口村47A号2楼 NaN NaN 1035.0
df['类型'].fillna('其他',inplace=True)
df['地区'].fillna('其他',inplace=True)
df
名字 类型 城市 地区 地点 评分 评分人数 价格
NaN NaN 其他 NaN 其他 NaN NaN NaN NaN
0.0 香港嘉湖海逸酒店(Harbour Plaza Resort City) 休闲度假 香港 元朗 天水围 天恩路18号 4.6 17604.0 422.0
1.0 香港铜锣湾皇悦酒店(Empire Hotel Hong Kong-Causeway Bay) 浪漫情侣 香港 东区 铜锣湾永兴街8号 4.5 12708.0 693.0
2.0 香港碧荟酒店(The BEACON) 商务出行 香港 油尖旺 九龙旺角洗衣街88号 4.7 328.0 747.0
3.0 香港湾仔帝盛酒店(Dorsett Wanchai) 浪漫情侣 香港 湾仔 皇后大道东387-397号 4.4 5014.0 693.0
... ... ... ... ... ... ... ... ...
415.0 香港天天宾馆(TIN TIN GUEST HOUSE) 地铁周边 香港 油尖旺 旺角弥敦道607号新兴大厦1517A 3.2 16.0 227.0
416.0 香港AMR宾馆(AMR Hostel) 地铁周边 香港 其他 尖沙咀弥敦道58号美丽都大厦6字楼A12室 NaN NaN 977.0
417.0 香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre) 海滨风光 香港 荃湾 荃湾 杨屋道8号 4.5 45462.0 709.0
418.0 香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre) 海滨风光 香港 荃湾 荃湾 杨屋道8号 4.5 45463.0 709.0
419.0 香港花盈酒店(家庭旅馆)(Bloomy Hotel) 地铁周边 香港 油尖旺 尖沙咀弥敦道87号华源大厦9字楼C2室 4.0 273.0 256.0
421 rows × 8 columns
df['评分'].fillna(np.mean(df['评分']),inplace=True)
df
名字 类型 城市 地区 地点 评分 评分人数 价格
NaN NaN 其他 NaN 其他 NaN 4.283827 NaN NaN
0.0 香港嘉湖海逸酒店(Harbour Plaza Resort City) 休闲度假 香港 元朗 天水围 天恩路18号 4.600000 17604.0 422.0
1.0 香港铜锣湾皇悦酒店(Empire Hotel Hong Kong-Causeway Bay) 浪漫情侣 香港 东区 铜锣湾永兴街8号 4.500000 12708.0 693.0
2.0 香港碧荟酒店(The BEACON) 商务出行 香港 油尖旺 九龙旺角洗衣街88号 4.700000 328.0 747.0
3.0 香港湾仔帝盛酒店(Dorsett Wanchai) 浪漫情侣 香港 湾仔 皇后大道东387-397号 4.400000 5014.0 693.0
... ... ... ... ... ... ... ... ...
415.0 香港天天宾馆(TIN TIN GUEST HOUSE) 地铁周边 香港 油尖旺 旺角弥敦道607号新兴大厦1517A 3.200000 16.0 227.0
416.0 香港AMR宾馆(AMR Hostel) 地铁周边 香港 其他 尖沙咀弥敦道58号美丽都大厦6字楼A12室 4.283827 NaN 977.0
417.0 香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre) 海滨风光 香港 荃湾 荃湾 杨屋道8号 4.500000 45462.0 709.0
418.0 香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre) 海滨风光 香港 荃湾 荃湾 杨屋道8号 4.500000 45463.0 709.0
419.0 香港花盈酒店(家庭旅馆)(Bloomy Hotel) 地铁周边 香港 油尖旺 尖沙咀弥敦道87号华源大厦9字楼C2室 4.000000 273.0 256.0
421 rows × 8 columns
df=df.dropna(subset=['价格','评分人数'])
df
名字 类型 城市 地区 地点 评分 评分人数 价格
0.0 香港嘉湖海逸酒店(Harbour Plaza Resort City) 休闲度假 香港 元朗 天水围 天恩路18号 4.600000 17604.0 422.0
1.0 香港铜锣湾皇悦酒店(Empire Hotel Hong Kong-Causeway Bay) 浪漫情侣 香港 东区 铜锣湾永兴街8号 4.500000 12708.0 693.0
2.0 香港碧荟酒店(The BEACON) 商务出行 香港 油尖旺 九龙旺角洗衣街88号 4.700000 328.0 747.0
3.0 香港湾仔帝盛酒店(Dorsett Wanchai) 浪漫情侣 香港 湾仔 皇后大道东387-397号 4.400000 5014.0 693.0
4.0 如心艾朗酒店(L‘hotel elan) 浪漫情侣 香港 观塘 观塘创业街38号 4.600000 3427.0 581.0
... ... ... ... ... ... ... ... ...
414.0 香港金泉酒店 地铁周边 香港 其他 香港旺角弥敦道607号新兴大厦1407室 4.283827 16.0 245.0
415.0 香港天天宾馆(TIN TIN GUEST HOUSE) 地铁周边 香港 油尖旺 旺角弥敦道607号新兴大厦1517A 3.200000 16.0 227.0
417.0 香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre) 海滨风光 香港 荃湾 荃湾 杨屋道8号 4.500000 45462.0 709.0
418.0 香港如心海景酒店暨会议中心(L‘hotel Nina et Convention Centre) 海滨风光 香港 荃湾 荃湾 杨屋道8号 4.500000 45463.0 709.0
419.0 香港花盈酒店(家庭旅馆)(Bloomy Hotel) 地铁周边 香港 油尖旺 尖沙咀弥敦道87号华源大厦9字楼C2室 4.000000 273.0 256.0
397 rows × 8 columns
df.to_excel('酒店数据11.xlsx')