Python专区 加入小组

138个成员 36个话题 创建时间:2019-12-17

Python数据清洗公开课程代码

发表于2020-08-07 1630次查看

课程链接:https://edu.cda.cn/course/1441

数据清洗案例

1. 导入相关包

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline 
#jupyter notebook一定运行这一行代码,在cell中显示图形

2.导入数据集

df=pd.read_csv('qunar_freetrip.csv',index_col=0)
df.head(2)
  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间
0 哈尔滨 北海 2208.0 650.0 哈尔滨-北海3天2晚 | 入住北海祥丰嘉年华大酒店 + 春秋航空往返机票 北海祥丰嘉年华大酒店 舒适型 4.7分/5分 标准双人间(双床) 双床 不含早 1间2晚 春秋航空 9C8741 直飞 17:10-21:50 春秋航空 9C8742 直飞 10:20-15:05
1 成都 泸沽湖 1145.0 376.0 成都-泸沽湖3天2晚 | 入住7天酒店丽江古城中心店 + 成都航空往返机票 7天酒店丽江古城中心店 经济型 4.0分/5分 经济房-不含早-限时特... 其他 不含早 1间2晚 成都航空 EU2237 直飞 19:45-21:20 成都航空 EU2738 直飞 23:30-01:05

3. 初步探索数据

#查看数据形状
df.shape
(5100, 13)
#快速了解数据的结构
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 5100 entries, 0 to 5099
Data columns (total 13 columns):
出发地      5098 non-null object
 目的地     5099 non-null object
价格       5072 non-null float64
节省       5083 non-null float64
路线名      5100 non-null object
酒店       5100 non-null object
房间       5100 non-null object
去程航司     5100 non-null object
去程方式     5100 non-null object
去程时间     5100 non-null object
回程航司     5100 non-null object
回程方式     5100 non-null object
回程时间     5100 non-null object
dtypes: float64(2), object(11)
memory usage: 557.8+ KB
#快速查看数据的描述性统计信息
df.describe() #显示数值型数据的描述统计
  价格 节省
count 5072.000000 5083.000000
mean 1765.714905 474.139878
std 2580.129644 168.893780
min 578.000000 306.000000
25% 1253.000000 358.000000
50% 1632.000000 436.000000
75% 2028.250000 530.000000
max 179500.000000 3500.000000

4.简单数据处理

df.columns
Index(['出发地 ', ' 目的地', '价格 ', '节省', '路线名', '酒店', '房间', '去程航司', '去程方式', '去程时间',
       '回程航司', '回程方式 ', '回程时间'],
      dtype='object')
df.head(2)
  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间
0 哈尔滨 北海 2208.0 650.0 哈尔滨-北海3天2晚 | 入住北海祥丰嘉年华大酒店 + 春秋航空往返机票 北海祥丰嘉年华大酒店 舒适型 4.7分/5分 标准双人间(双床) 双床 不含早 1间2晚 春秋航空 9C8741 直飞 17:10-21:50 春秋航空 9C8742 直飞 10:20-15:05
1 成都 泸沽湖 1145.0 376.0 成都-泸沽湖3天2晚 | 入住7天酒店丽江古城中心店 + 成都航空往返机票 7天酒店丽江古城中心店 经济型 4.0分/5分 经济房-不含早-限时特... 其他 不含早 1间2晚 成都航空 EU2237 直飞 19:45-21:20 成都航空 EU2738 直飞 23:30-01:05
col = df.columns.values
col
array(['出发地 ', ' 目的地', '价格 ', '节省', '路线名', '酒店', '房间', '去程航司', '去程方式',
       '去程时间', '回程航司', '回程方式 ', '回程时间'], dtype=object)
col[0].strip() #strip函数一次只能处理一个数据
'出发地'
[x.strip() for x in col]
#strip去除前后空格
['出发地',
 '目的地',
 '价格',
 '节省',
 '路线名',
 '酒店',
 '房间',
 '去程航司',
 '去程方式',
 '去程时间',
 '回程航司',
 '回程方式',
 '回程时间']
df.columns = [x.strip() for x in col]
df.columns
Index(['出发地', '目的地', '价格', '节省', '路线名', '酒店', '房间', '去程航司', '去程方式', '去程时间',
       '回程航司', '回程方式', '回程时间'],
      dtype='object')

5.重复值的处理

检查重复值duplicated()

Duplicated函数功能:查找并显示数据表中的重复值
这里需要注意的是:

  • 当两条记录中所有的数据都相等时duplicated函数才会判断为重复值
  • duplicated支持从前向后(first),和从后向前(last)两种重复值查找模式
  • 默认是从前向后进行重复值的查找和判断,也就是后面的条目在重复值判断中显示为True
#第一行数据
#第二行数据和第一行一样
#从前向后就把第二行数据判断为重复值
#从后向前就把第一行数据判断为重复值
df.duplicated() #返回布尔型数据,告诉重复值的位置
0       False
1       False
2       False
3       False
4       False
5       False
6       False
        ...  
5095     True
5096    False
5097    False
5098    False
5099    False
Length: 5100, dtype: bool
df.duplicated().sum()#说明有100个重复值
100
#查看重复的记录
df[df.duplicated()]
  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间
454 广州 黄山 1871.0 492.0 广州-黄山3天2晚 | 入住黄山汤口醉享主题酒店 + 南方航空往返机票 黄山汤口醉享主题酒店 舒适型 4.8分/5分 睫毛弯弯(大床) 大床 不含早 1间2晚 南方航空 CZ3627 直飞 19:20-21:15 南方航空 CZ3628 直飞 22:05-23:50
649 济南 长沙 1134.0 360.0 济南-长沙3天2晚 | 入住长沙喜迎宾华天大酒店 + 山东航空往返机票 长沙喜迎宾华天大酒店 高档型 3.7分/5分 特惠双间(特惠抢购)(... 双床 不含早 1间2晚 山东航空 SC1185 直飞 18:40-20:50 山东航空 SC1186 直飞 10:20-12:15
685 青岛 重庆 1474.0 420.0 青岛-重庆3天2晚 | 入住怡家丽景酒店重庆垫江店 + 山东航空/华夏航空往返机票 怡家丽景酒店重庆垫江店 舒适型 4.3分/5分 法式房(内宾)(无窗)... 大床 不含早 1间2晚 山东航空 SC4709 经停 19:30-00:05 华夏航空 G54710 经停 18:00-22:25
852 北京 哈尔滨 1450.0 368.0 北京-哈尔滨3天2晚 | 入住哈尔滨水逸城市酒店 + 南方航空/大新华航空往返机票 哈尔滨水逸城市酒店 舒适型 4.6分/5分 标准间-【预付特惠】独... 双床 双早 1间2晚 南方航空 CZ6202 直飞 22:20-00:20 大新华航空 CN7150 直飞 22:50-00:55
... ... ... ... ... ... ... ... ... ... ... ... ... ...
5066 哈尔滨 西安 1843.0 450.0 哈尔滨-西安3天2晚 | 入住西安铁通商务酒店贵宾楼 + 天津航空/东方航空往返... 西安铁通商务酒店贵宾楼 舒适型 4.2分/5分 标准间(持房卡尊享清凉... 双床 不含早 1间2晚 天津航空 GS7584 经停 12:30-17:40 东方航空 MU2211 经停 08:45-13:25
5068 南京 成都 1922.0 552.0 南京-成都3天2晚 | 入住成都伊丽特酒店 + 东方航空/西藏航空往返机票 成都伊丽特酒店 高档型 4.5分/5分 行政标准间-含早立即确... 双床 双早 1间2晚 东方航空 MU2880 直飞 21:55-00:35 西藏航空 TV9839 直飞 06:30-08:55
5081 上海 青岛 769.0 354.0 上海-青岛3天2晚 | 入住青岛金中太大酒店 + 春秋航空/吉祥航空往返机票 青岛金中太大酒店 舒适型 4.8分/5分 特惠大床房[无早] 大床 不含早 1间2晚 春秋航空 9C8853 直飞 19:50-21:35 吉祥航空 HO1242 直飞 23:05-00:35
5095 宁波 九寨沟 2085.0 562.0 宁波-九寨沟3天2晚 | 入住黑水县达古冰山国际大酒店 + 成都航空/四川航空往... 黑水县达古冰山国际大酒店 豪华型 3.9分/5分 B区豪华标间(双床) 双床 不含早 1间2晚 成都航空 EU2730 经停 19:45-00:45 四川航空 3U8927 经停 07:55-12:15

100 rows × 13 columns

删除重复值drop_duplicates()

drop_duplicates函数功能是:删除数据表中的重复值,判断标准和逻辑与duplicated函数一样

df.drop_duplicates(inplace=True) 
#inplace=True表示直接在源数据上进行操作
df.head()
  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间
0 哈尔滨 北海 2208.0 650.0 哈尔滨-北海3天2晚 | 入住北海祥丰嘉年华大酒店 + 春秋航空往返机票 北海祥丰嘉年华大酒店 舒适型 4.7分/5分 标准双人间(双床) 双床 不含早 1间2晚 春秋航空 9C8741 直飞 17:10-21:50 春秋航空 9C8742 直飞 10:20-15:05
1 成都 泸沽湖 1145.0 376.0 成都-泸沽湖3天2晚 | 入住7天酒店丽江古城中心店 + 成都航空往返机票 7天酒店丽江古城中心店 经济型 4.0分/5分 经济房-不含早-限时特... 其他 不含早 1间2晚 成都航空 EU2237 直飞 19:45-21:20 成都航空 EU2738 直飞 23:30-01:05
df.shape
(5000, 13)
df.shape[0]
5000
range(df.shape[0])
range(0, 5000)
df.index = range(df.shape[0])
df.index
RangeIndex(start=0, stop=5000, step=1)

6.异常值的处理

[40]:

df.describe().T

[40]:

  count mean std min 25% 50% 75% max
价格 4972.0 1767.782381 2604.329780 578.0 1253.0 1633.0 2031.0 179500.0
节省 4983.0 474.490869 169.148391 306.0 358.0 436.0 532.0 3500.0

[41]:

#找出'价格'异常值

sta=(df['价格']-df['价格'].mean())/df['价格'].std()

[44]:

sta[:10]

[44]:

0    0.169033
1   -0.239133
2    0.358717
3    0.071503
4   -0.061353
5   -0.072104
6   -0.054825
7   -0.036394
8   -0.229534
9   -0.175393
Name: 价格, dtype: float64

[46]:

 

sta.abs()[:10]

[46]:

0    0.169033
1    0.239133
2    0.358717
3    0.071503
4    0.061353
5    0.072104
6    0.054825
7    0.036394
8    0.229534
9    0.175393
Name: 价格, dtype: float64

[48]:

sta.abs()>3

[48]:

0       False
1       False
2       False
3       False
4       False
5       False
6       False
7       False
8       False
9       False
10      False
11      False
12      False
13      False
14      False
15      False
16      False
17      False
18      False
19      False
20      False
21      False
22      False
23      False
24      False
25      False
26      False
27      False
28      False
29      False
        ...  
4970    False
4971    False
4972    False
4973    False
4974    False
4975    False
4976    False
4977    False
4978    False
4979    False
4980    False
4981    False
4982    False
4983    False
4984    False
4985    False
4986    False
4987    False
4988    False
4989    False
4990    False
4991    False
4992    False
4993    False
4994    False
4995    False
4996    False
4997    False
4998    False
4999    False
Name: 价格, Length: 5000, dtype: bool

[47]:

df[sta.abs()>3]

[47]:

  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间
2763 杭州 九寨沟 179500.0 538.0 杭州-九寨沟3天2晚 | 入住九寨沟九乡宾馆 + 成都航空/长龙航空往返机票 九寨沟九乡宾馆 舒适型 4.3分/5分 特惠房(双床) 双床 不含早 1间2晚 成都航空 EU2206 经停 20:30-01:00 长龙航空 GJ8680 经停 20:25-00:50

[49]:

df.head(10)

[49]:

  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间
0 哈尔滨 北海 2208.0 650.0 哈尔滨-北海3天2晚 | 入住北海祥丰嘉年华大酒店 + 春秋航空往返机票 北海祥丰嘉年华大酒店 舒适型 4.7分/5分 标准双人间(双床) 双床 不含早 1间2晚 春秋航空 9C8741 直飞 17:10-21:50 春秋航空 9C8742 直飞 10:20-15:05
1 成都 泸沽湖 1145.0 376.0 成都-泸沽湖3天2晚 | 入住7天酒店丽江古城中心店 + 成都航空往返机票 7天酒店丽江古城中心店 经济型 4.0分/5分 经济房-不含早-限时特... 其他 不含早 1间2晚 成都航空 EU2237 直飞 19:45-21:20 成都航空 EU2738 直飞 23:30-01:05
2 广州 沈阳 2702.0 618.0 广州-沈阳3天2晚 | 入住沈阳中煤宾馆 + 南方航空/深圳航空往返机票 沈阳中煤宾馆 舒适型 4.5分/5分 大床间(内宾) 大床 双早 1间2晚 南方航空 CZ6384 直飞 08:05-11:45 深圳航空 ZH9652 经停 08:20-13:05
3 上海 九寨沟 1954.0 484.0 上海-九寨沟3天2晚 | 入住红原芸谊大酒店 + 成都航空往返机票 红原芸谊大酒店 舒适型 4.6分/5分 豪华双床房[双早] 双床 双早 1间2晚 成都航空 EU6678 直飞 21:55-01:15 成都航空 EU6677 直飞 17:45-20:35
4 广州 天津 1608.0 422.0 广州-天津3天2晚 | 入住天津逸海明珠大酒店 + 奥凯航空/海南航空往返机票 天津逸海明珠大酒店 高档型 4.1分/5分 豪华双床房(预付) 双床 不含早 1间2晚 奥凯航空 BK2787 直飞 06:55-10:00 海南航空 HU7201 直飞 20:15-23:25
5 长春 青岛 1580.0 390.0 长春-青岛3天2晚 | 入住青岛康大豪生大酒店 + 南方航空往返机票 青岛康大豪生大酒店 豪华型 4.6分/5分 精选房(大床)[酒店★... 大床 不含早 1间2晚 南方航空 CZ3938 直飞 20:00-21:55 南方航空 CZ3963 直飞 15:40-17:30
6 济南 九寨沟 1625.0 396.0 济南-九寨沟3天2晚 | 入住阿坝松潘松林酒店 + 中国国航/成都航空往返机票 阿坝松潘松林酒店 舒适型 4.3分/5分 豪华标准间(双床) 双床 不含早 1间2晚 中国国航 CA4528 直飞 21:00-23:30 成都航空 EU2719 直飞 06:55-09:25
7 宁波 重庆 1673.0 404.0 宁波-重庆3天2晚 | 入住重庆运通假日酒店汽博中心店 + 南方航空/四川航空往... 重庆运通假日酒店汽博中心店 舒适型 4.3分/5分 特惠房(大床) 大床 双早 1间2晚 南方航空 CZ8116 直飞 17:15-19:40 四川航空 3U8983 直飞 06:55-09:35
8 哈尔滨 南京 1170.0 340.0 哈尔滨-南京3天2晚 | 入住维也纳酒店南京南站汇景店 + 吉祥航空/厦门航空往... 维也纳酒店南京南站汇景店 舒适型 4.4分/5分 特惠大床房(无窗)[双... 大床 双早 1间2晚 吉祥航空 HO1651 直飞 17:10-20:00 厦门航空 MF8067 直飞 19:40-22:25
9 深圳 厦门 1311.0 350.0 深圳-厦门3天2晚 | 入住厦门泊旅时尚酒店会展中心店 + 海南航空往返机票 厦门泊旅时尚酒店会展中心店 舒适型 4.0分/5分 时尚标准双床房 双床 双早 1间2晚 海南航空 HU7065 直飞 07:30-08:40 海南航空 HU7066 直飞 15:30-16:40

[51]:

sum(df.价格>df.节省)

[51]:

4952

[52]:

#找出'节省'异常值
df[df.节省>df.价格]

[52]:

  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间
2904 武汉 西安 949.0 3500.0 武汉-西安3天2晚 | 入住西安西稍门大酒店 + 东方航空往返机票 西安西稍门大酒店 舒适型 3.3分/5分 标准间B(丝路之旅)(... 双床 不含早 1间2晚 东方航空 MU2194 直飞 21:50-23:30 东方航空 MU2462 直飞 19:35-21:20
3108 济南 大连 911.0 3180.0 济南-大连3天2晚 | 入住普兰店科洋大酒店 + 山东航空/厦门航空往返机票 普兰店科洋大酒店 舒适型 4.4分/5分 大床房(限量促销) 大床 不含早 1间2晚 山东航空 SC4916 直飞 19:45-20:50 厦门航空 MF8042 直飞 13:10-14:20
3660 沈阳 青岛 924.0 3200.0 沈阳-青岛3天2晚 | 入住星程酒店青岛台东步行街店 + 青岛航/南方航空往返机票 星程酒店青岛台东步行街店 舒适型 4.2分/5分 大床房(内宾)(提前1... 大床 不含早 1间2晚 青岛航 QW9780 直飞 22:35-00:10 南方航空 CZ6568 直飞 20:55-22:35
  • 对于建模来说,通常会删掉异常值
  • 但是对于业务来说,异常值中可能包含有更多的价值

[53]:

pd.concat([df[df.节省>df.价格],df[sta.abs()>3]])

[53]:

  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间
2904 武汉 西安 949.0 3500.0 武汉-西安3天2晚 | 入住西安西稍门大酒店 + 东方航空往返机票 西安西稍门大酒店 舒适型 3.3分/5分 标准间B(丝路之旅)(... 双床 不含早 1间2晚 东方航空 MU2194 直飞 21:50-23:30 东方航空 MU2462 直飞 19:35-21:20
3108 济南 大连 911.0 3180.0 济南-大连3天2晚 | 入住普兰店科洋大酒店 + 山东航空/厦门航空往返机票 普兰店科洋大酒店 舒适型 4.4分/5分 大床房(限量促销) 大床 不含早 1间2晚 山东航空 SC4916 直飞 19:45-20:50 厦门航空 MF8042 直飞 13:10-14:20
3660 沈阳 青岛 924.0 3200.0 沈阳-青岛3天2晚 | 入住星程酒店青岛台东步行街店 + 青岛航/南方航空往返机票 星程酒店青岛台东步行街店 舒适型 4.2分/5分 大床房(内宾)(提前1... 大床 不含早 1间2晚 青岛航 QW9780 直飞 22:35-00:10 南方航空 CZ6568 直飞 20:55-22:35
2763 杭州 九寨沟 179500.0 538.0 杭州-九寨沟3天2晚 | 入住九寨沟九乡宾馆 + 成都航空/长龙航空往返机票 九寨沟九乡宾馆 舒适型 4.3分/5分 特惠房(双床) 双床 不含早 1间2晚 成都航空 EU2206 经停 20:30-01:00 长龙航空 GJ8680 经停 20:25-00:50

[54]:

pd.concat([df[df.节省>df.价格],df[sta.abs()>3]]).index

[54]:

Int64Index([2904, 3108, 3660, 2763], dtype='int64')

[56]:

delindex = pd.concat([df[df.节省>df.价格],df[sta.abs()>3]]).index

[58]:

df.drop(delindex,inplace=True)

[59]:

df.shape

[59]:

(4996, 13)

7.缺失值的处理

  • df.isnull() #查看缺失值
  • df.notnull() #查看不是缺失值的数据
  • df.dropna() #删除缺失值
  • df.fillna() #填补缺失值

[61]:

df.isnull().sum()

[61]:

出发地      2
目的地      1
价格      28
节省      17
路线名      0
酒店       0
房间       0
去程航司     0
去程方式     0
去程时间     0
回程航司     0
回程方式     0
回程时间     0
dtype: int64

[62]:

df[df.出发地.isnull()]

[62]:

  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间
1850 NaN 烟台 647.0 348.0 大连-烟台3天2晚 | 入住烟台海阳黄金海岸大酒店 + 幸福航空/天津航空往返机票 烟台海阳黄金海岸大酒店 3.7分/5分 海景标准间(内宾)[双... 双床 双早 1间2晚 幸福航空 JR1582 直飞 10:05-11:05 天津航空 GS6402 直飞 16:30-17:25
1915 NaN 西安 1030.0 326.0 济南-西安3天2晚 | 入住西安丝路秦国际青年旅舍钟楼回民街店 + 华夏航空往返... 西安丝路秦国际青年旅舍钟楼回民街店 经济型 4.4分/5分 标准间(独卫)-吃货天... 双床 不含早 1间2晚 华夏航空 G54963 直飞 07:10-08:55 华夏航空 G58858 直飞 23:10-00:55

[63]:

[str(x)[:2] for x in df.loc[df.出发地.isnull(),'路线名']]

[63]:

['大连', '济南']

[64]:

df.loc[df.出发地.isnull(),'出发地'] = [str(x)[:2] for x in df.loc[df.出发地.isnull(),'路线名']]

[65]:

df[df.出发地.isnull()]

[65]:

[66]:

df.出发地.isnull().sum()

[66]:

0

[67]:

df[df.目的地.isnull()]

[67]:

  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间
1860 深圳 NaN 2149.0 494.0 深圳-大连3天2晚 | 入住大连黄金山大酒店 + 南方航空/东海往返机票 大连黄金山大酒店 舒适型 3.4分/5分 标准间 大/双床 不含早 1间2晚 南方航空 CZ6833 直飞 09:10-12:40 东海 DZ6242 经停 12:40-18:00

[69]:

str(df.loc[df.目的地.isnull(),'路线名'].values)[5:7]

[69]:

'大连'

[70]:

df.loc[df.目的地.isnull(),'目的地'] = str(df.loc[df.目的地.isnull(),'路线名'].values)[5:7]

[72]:

round(df['价格'].mean(),0)

[72]:

1733.0

[73]:

#处理价格缺失值
df['价格'].fillna(round(df['价格'].mean(),0),inplace=True)

[74]:

#处理节省缺失值
df['节省'].fillna(round(df['节省'].mean(),0),inplace=True)

[75]:

df.isnull().sum()

[75]:

出发地     0
目的地     0
价格      0
节省      0
路线名     0
酒店      0
房间      0
去程航司    0
去程方式    0
去程时间    0
回程航司    0
回程方式    0
回程时间    0
dtype: int64

8. 处理文本型数据

[109]:

# 如果我们想要在一系列文本提取信息,可以使用正则表达式
# 正则表达式通常被用来检索某个规则的文本

[77]:

df.head(10)

[77]:

  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间
0 哈尔滨 北海 2208.0 650.0 哈尔滨-北海3天2晚 | 入住北海祥丰嘉年华大酒店 + 春秋航空往返机票 北海祥丰嘉年华大酒店 舒适型 4.7分/5分 标准双人间(双床) 双床 不含早 1间2晚 春秋航空 9C8741 直飞 17:10-21:50 春秋航空 9C8742 直飞 10:20-15:05
1 成都 泸沽湖 1145.0 376.0 成都-泸沽湖3天2晚 | 入住7天酒店丽江古城中心店 + 成都航空往返机票 7天酒店丽江古城中心店 经济型 4.0分/5分 经济房-不含早-限时特... 其他 不含早 1间2晚 成都航空 EU2237 直飞 19:45-21:20 成都航空 EU2738 直飞 23:30-01:05
2 广州 沈阳 2702.0 618.0 广州-沈阳3天2晚 | 入住沈阳中煤宾馆 + 南方航空/深圳航空往返机票 沈阳中煤宾馆 舒适型 4.5分/5分 大床间(内宾) 大床 双早 1间2晚 南方航空 CZ6384 直飞 08:05-11:45 深圳航空 ZH9652 经停 08:20-13:05
3 上海 九寨沟 1954.0 484.0 上海-九寨沟3天2晚 | 入住红原芸谊大酒店 + 成都航空往返机票 红原芸谊大酒店 舒适型 4.6分/5分 豪华双床房[双早] 双床 双早 1间2晚 成都航空 EU6678 直飞 21:55-01:15 成都航空 EU6677 直飞 17:45-20:35
4 广州 天津 1608.0 422.0 广州-天津3天2晚 | 入住天津逸海明珠大酒店 + 奥凯航空/海南航空往返机票 天津逸海明珠大酒店 高档型 4.1分/5分 豪华双床房(预付) 双床 不含早 1间2晚 奥凯航空 BK2787 直飞 06:55-10:00 海南航空 HU7201 直飞 20:15-23:25
5 长春 青岛 1580.0 390.0 长春-青岛3天2晚 | 入住青岛康大豪生大酒店 + 南方航空往返机票 青岛康大豪生大酒店 豪华型 4.6分/5分 精选房(大床)[酒店★... 大床 不含早 1间2晚 南方航空 CZ3938 直飞 20:00-21:55 南方航空 CZ3963 直飞 15:40-17:30
6 济南 九寨沟 1625.0 396.0 济南-九寨沟3天2晚 | 入住阿坝松潘松林酒店 + 中国国航/成都航空往返机票 阿坝松潘松林酒店 舒适型 4.3分/5分 豪华标准间(双床) 双床 不含早 1间2晚 中国国航 CA4528 直飞 21:00-23:30 成都航空 EU2719 直飞 06:55-09:25
7 宁波 重庆 1673.0 404.0 宁波-重庆3天2晚 | 入住重庆运通假日酒店汽博中心店 + 南方航空/四川航空往... 重庆运通假日酒店汽博中心店 舒适型 4.3分/5分 特惠房(大床) 大床 双早 1间2晚 南方航空 CZ8116 直飞 17:15-19:40 四川航空 3U8983 直飞 06:55-09:35
8 哈尔滨 南京 1170.0 340.0 哈尔滨-南京3天2晚 | 入住维也纳酒店南京南站汇景店 + 吉祥航空/厦门航空往... 维也纳酒店南京南站汇景店 舒适型 4.4分/5分 特惠大床房(无窗)[双... 大床 双早 1间2晚 吉祥航空 HO1651 直飞 17:10-20:00 厦门航空 MF8067 直飞 19:40-22:25
9 深圳 厦门 1311.0 350.0 深圳-厦门3天2晚 | 入住厦门泊旅时尚酒店会展中心店 + 海南航空往返机票 厦门泊旅时尚酒店会展中心店 舒适型 4.0分/5分 时尚标准双床房 双床 双早 1间2晚 海南航空 HU7065 直飞 07:30-08:40 海南航空 HU7066 直飞 15:30-16:40

[79]:

df.酒店[:10]

[79]:

0       北海祥丰嘉年华大酒店 舒适型 4.7分/5分
1      7天酒店丽江古城中心店 经济型 4.0分/5分
2           沈阳中煤宾馆 舒适型 4.5分/5分
3          红原芸谊大酒店 舒适型 4.6分/5分
4        天津逸海明珠大酒店 高档型 4.1分/5分
5        青岛康大豪生大酒店 豪华型 4.6分/5分
6         阿坝松潘松林酒店 舒适型 4.3分/5分
7    重庆运通假日酒店汽博中心店 舒适型 4.3分/5分
8     维也纳酒店南京南站汇景店 舒适型 4.4分/5分
9    厦门泊旅时尚酒店会展中心店 舒适型 4.0分/5分
Name: 酒店, dtype: object

[82]:

df.酒店.str.extract('(\d\.\d)分/5分',expand=True)[:10]

[82]:

  0
0 4.7
1 4.0
2 4.5
3 4.6
4 4.1
5 4.6
6 4.3
7 4.3
8 4.4
9 4.0

[83]:

#提取酒店评分
df['酒店评分'] = df.酒店.str.extract('(\d\.\d)分/5分',expand=False)
#expand=False (return Index/Series)
#expand=True (return DataFrame)

[84]:

df.head(2)

[84]:

  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间 酒店评分
0 哈尔滨 北海 2208.0 650.0 哈尔滨-北海3天2晚 | 入住北海祥丰嘉年华大酒店 + 春秋航空往返机票 北海祥丰嘉年华大酒店 舒适型 4.7分/5分 标准双人间(双床) 双床 不含早 1间2晚 春秋航空 9C8741 直飞 17:10-21:50 春秋航空 9C8742 直飞 10:20-15:05 4.7
1 成都 泸沽湖 1145.0 376.0 成都-泸沽湖3天2晚 | 入住7天酒店丽江古城中心店 + 成都航空往返机票 7天酒店丽江古城中心店 经济型 4.0分/5分 经济房-不含早-限时特... 其他 不含早 1间2晚 成都航空 EU2237 直飞 19:45-21:20 成都航空 EU2738 直飞 23:30-01:05 4.0

[85]:

df.酒店[:10]

[85]:

0       北海祥丰嘉年华大酒店 舒适型 4.7分/5分
1      7天酒店丽江古城中心店 经济型 4.0分/5分
2           沈阳中煤宾馆 舒适型 4.5分/5分
3          红原芸谊大酒店 舒适型 4.6分/5分
4        天津逸海明珠大酒店 高档型 4.1分/5分
5        青岛康大豪生大酒店 豪华型 4.6分/5分
6         阿坝松潘松林酒店 舒适型 4.3分/5分
7    重庆运通假日酒店汽博中心店 舒适型 4.3分/5分
8     维也纳酒店南京南站汇景店 舒适型 4.4分/5分
9    厦门泊旅时尚酒店会展中心店 舒适型 4.0分/5分
Name: 酒店, dtype: object

[87]:

df.酒店.str.extract(' (.+) ',expand=False)[:5]

[87]:

0    舒适型
1    经济型
2    舒适型
3    舒适型
4    高档型
Name: 酒店, dtype: object

[88]:

#提取酒店等级
df['酒店等级'] = df.酒店.str.extract(' (.+) ',expand=False)#+号表示的是贪婪模式,也就是所有的数据都要提取出来

[91]:

#提取天数信息
df['天数']=df.路线名.str.extract('(\d+)天\d晚',expand=False)

[92]:

df.head()

[92]:

  出发地 目的地 价格 节省 路线名 酒店 房间 去程航司 去程方式 去程时间 回程航司 回程方式 回程时间 酒店评分 酒店等级 天数
0 哈尔滨 北海 2208.0 650.0 哈尔滨-北海3天2晚 | 入住北海祥丰嘉年华大酒店 + 春秋航空往返机票 北海祥丰嘉年华大酒店 舒适型 4.7分/5分 标准双人间(双床) 双床 不含早 1间2晚 春秋航空 9C8741 直飞 17:10-21:50 春秋航空 9C8742 直飞 10:20-15:05 4.7 舒适型 3
1 成都 泸沽湖 1145.0 376.0 成都-泸沽湖3天2晚 | 入住7天酒店丽江古城中心店 + 成都航空往返机票 7天酒店丽江古城中心店 经济型 4.0分/5分 经济房-不含早-限时特... 其他 不含早 1间2晚 成都航空 EU2237 直飞 19:45-21:20 成都航空 EU2738 直飞 23:30-01:05 4.0 经济型 3
2 广州 沈阳 2702.0 618.0 广州-沈阳3天2晚 | 入住沈阳中煤宾馆 + 南方航空/深圳航空往返机票 沈阳中煤宾馆 舒适型 4.5分/5分 大床间(内宾) 大床 双早 1间2晚 南方航空 CZ6384 直飞 08:05-11:45 深圳航空 ZH9652 经停 08:20-13:05 4.5 舒适型 3
3 上海 九寨沟 1954.0 484.0 上海-九寨沟3天2晚 | 入住红原芸谊大酒店 + 成都航空往返机票 红原芸谊大酒店 舒适型 4.6分/5分 豪华双床房[双早] 双床 双早 1间2晚 成都航空 EU6678 直飞 21:55-01:15 成都航空 EU6677 直飞 17:45-20:35 4.6 舒适型 3
4 广州 天津 1608.0 422.0 广州-天津3天2晚 | 入住天津逸海明珠大酒店 + 奥凯航空/海南航空往返机票 天津逸海明珠大酒店 高档型 4.1分/5分 豪华双床房(预付) 双床 不含早 1间2晚 奥凯航空 BK2787 直飞 06:55-10:00 海南航空 HU7201 直飞 20:15-23:25 4.1 高档型 3

 

发表回复
你还没有登录,请先 登录或 注册!
话题作者
一站式数据科学在线教育平台