作者: 刘亦菲的老公
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取
爬取了携程网上关于全国大概16000条景点数据和美团网上五个城市的大概5000条酒店数据,然后导出为**.csv**表格形式方便用
pandas.read_csv()
来读取其中的数据。
景点数据
原始数据中,景点数据长这样
由于数据按省份分为三十多个.csv文件,并且其中还有不需要的列,用以下代码来读取(其他省份同样,只列出上海的)
import pandas as pd
上海 = pd.read_csv(‘上海.csv’, engine=‘python’,
usecols=[‘省份’, ‘spot-info’, ‘spot-info1’, ‘spot-info2’, ‘价格’, ‘已售’, ‘desc’, ‘spot-comment’,
‘spot-label1’])
再将全部数据组合在一起
China_scenic = pd.concat([上海, 云南, 内蒙古, 北京, 台湾, 吉林, 四川, 天津,
宁夏, 安徽, 山东, 山西, 广东, 广西, 新疆, 江苏,
河北, 河南, 浙江, 海南, 湖北, 湖南, 澳门, 甘肃,
福建, 西藏, 贵州, 辽宁, 重庆, 陕西, 青海, 香港, 黑龙江], sort=True,
ignore_index=True).reset_index().drop(columns=‘index’)
接下来删除那些重复和没有评分的地点。
删除重复地点
China_scenic = China_scenic.drop_duplicates(subset=‘spot-info’)
删除没有评分的地点
China_scenic = China_scenic[China_scenic[‘spot-comment’].notnull()]
再将评分转换为好评率,将没有景区等级的景点标为无等级
def grade_change(i):
i = i.replace(‘分’, ‘’)
return float(i) / 5
将评分转换为好评率
China_scenic[‘spot-comment’] = China_scenic[‘spot-comment’].apply(grade_change)
将没有景区等级的景区标为无等级
China_scenic[‘spot-info2’] = China_scenic[‘spot-info2’].fillna(‘无等级’)