去哪儿网预处理和分析

该博客主要展示了如何使用Python进行数据清洗,包括读取CSV文件,处理中文编码,利用pandas进行数据描述性统计,检查并处理缺失值,以及识别并过滤异常值。博主通过实例演示了如何从'出发地'和'路线名'中填充缺失值,以及利用标准化方法识别和移除价格领域的异常值。此外,还涉及到了数据的分箱统计和可视化,以及根据'星级'字段进行数据转换和处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np
import pandas as pd

df=pd.read_csv('C:/Users/xiaoli/data/qunar_freetrip.csv',encoding='gbk',sep='\t')
df.head()

df.describe()

df.info()

df.columns 

data=df.rename(columns=lambda x: x.strip())
data.head(2)

data.columns

data1=data[['出发地', '目的地', '价格', '节省', '路线名', '酒店']]
data1.head(2)

data1.isnull().sum()

data1.shape

data1[data1['出发地'].isnull()]

type(data1.路线名)

data1.路线名.str.slice(0,2)

data1.loc[data1['出发地'].isnull(),'路线名'].str.slice(0,2).values

data1.loc[data1['出发地'].isnull(),'出发地']

data1.loc[data1['出发地'].isnull(),'出发地']=data1.loc[data1['出发地'].isnull(),'路线名'].str.slice(0,2).values

data1.iloc[[1864,1930]]

data1.isnull().sum()

data1[data1['目的地'].isnull()]

data1.loc[data1['目的地'].isnull(),'目的地']=data1.loc[data1['目的地'].isnull(),'路线名'].str.slice(3,5).values

data1.iloc[1875]

data1.isnull().sum()

data2=data1.dropna()
data2

data2.isnull().sum()

data2.duplicated().sum()

data2=data2.drop_duplicates()
data2

data2.duplicated().sum()

data2.价格.describe()

data2[data2.价格>3000]

standard=(data2.价格-data2.价格.mean())/data2.价格.std()
data2[standard.abs()>3]

data3=data2.drop(data2[standard.abs()>3].index,axis=0)
data3

data3.info()

data3[['酒店名','类型','星级']]=data3.酒店.str.split(' ',2,True)

data3.head(2)

data3['星级']=data3.星级.str.slice(0,3).astype(np.float32)

data3.info()

data3.to_csv('data/1.csv',encoding='gbk',sep=',')

data3.价格.describe()

bins=[0,500,1000,2000,3000,4000,5000,6000,7000]
pd.cut(data3.价格,bins).value_counts()

pd.cut(data3.价格,bins).value_counts().plot.bar(rot=20)

dataCD=data3[data3.出发地=='成都']
dataCD

pd.cut(dataCD.价格,bins).value_counts().plot.bar(rot=20)

data3[data3['星级'].isnull()]              

data3.loc[data3['星级'].isnull(),'类型'].str.slice(0,3).values

data3.loc[data3['星级'].isnull(),'星级']=data3.loc[data3['星级'].isnull(),'类型'].str.slice(0,3).values
data3

data3.to_csv('data/2.csv',encoding='gbk',sep=',')

data3.星级.isnull().sum()

data3.星级

data3.info()

data3.星级.describe()

data3['星级']=data3.星级.str.slice(0,3).astype(np.float32)

data3.info()

bins=[0,1,2,3,4,5]
pd.cut(data3.星级,bins).value_counts()

pd.cut(data3.星级,bins).value_counts().plot.bar(rot=20)

本文运用信号系统的相关理论,建立了SARS传播的反馈闭合系统模型。求解结果与SARS实际疫情相吻合。 问题一中,在细致研究了附件提供的SARS的早期模型后,对该模型的合理性实用性进行了评价,并从中获得了建立SARS合理模型所需考虑的一些因素。 问题二中,在分析了影响SARS传播的诸多因素后,以日传染率作为影响SARS传播的决定性因素,并以此作为整个系统在SARS传播初期的激励信号政府采取措施后整个系统的反馈信号。将SARS传播过程视为一信息传输系统,该系统由传播子系统、疫情输出子系统、政府控制力度子系统日传染率输出子系统组成。所有子系统形成一反馈闭合系统,从而建立了SARS传播规律的系统模型。同时,根据北京4月20日数据,利用时域方法近似求解,所得数据与实际数据吻合较好。我们又对卫生部门提前或延后5天采取措施的情况分别做了估计,其结果是:提5前天采取措施,累计患病人数减少1005人,死亡人数减少75人;延后5天,累计患病人数增加710,死亡人数增加105人。最后,对社会上再次出现1例非典患者可能出现的疫情进行了预测,发现在这种情况下,可能引起的患病人数将达到342人,而死亡人数达18人,持续周期大概为40天左右。 问题三中,根据附件3中的数据,利用GM(1,1)模型带参数的GM(1,1)模型对2003年总外来旅游人数进行预测,其值为363.7万人,并按照比例预测出每个月的外来旅游人数,通过与实际数据相比发现SARS期间外来旅游人数大幅度地减少,同时,根据实际数据估计出2003年9,10,11,12月份的外来旅游人数,其值分别为26.41,34.49,32.6,25.45万人,该组数据正常情况下预测的数据相比,可以发现,到2003年年底北京市旅游业基本恢复正常。 问题四中,我们向报社提供了一篇小短文,阐明了建立传染病数学模型,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值