数据清洗步骤

pandas 数据清洗步骤

拿到数据之后,第一步是什么?

加载数据到pandas,查看数据结构。data.head(),data.info, data.shape().

 

第二步,处理空值

处理空值第一步,先查看空值的结构。 data.isnull().sum()

根据数据分析的需要,如果空值所在数据行有修复可能和保存必要,就去修复(比如 填充前后行的数据,用均值填充等)

如果没有保留必要,就删除空值所在数据行data.dropna(axis=0,inplace=True), data,reset_index(drop=True,inplace=True)

 

处理重复值

data.drop_duplicates(inplace=True), data.reset_index(drop=True,inplace=True)

 

第三步, 转换字段类型

通常是时间类型的数据需要转换,通常我们日期时间加载到Pandas之后会以int,或者str类型存在

real_time = []

for i in data['time']:

  timeArray = time.localtime(i):

  otherStyleTime = time.strftime('%Y-%m-%d %H:%M:%S',timeArray)

  real_time.append(otherStyleTime)

data['real_time'] = real_time

data.drop(labels='time',inplace=True,axis=1)  

data['real_time'] = pd.to_datetime(data['real_time'])

 

时间类中既有日期也有具体的时分秒,有时候我们需要将日期和时间分开 方便统计。

data['H'] = data.real_time.dt.hour     # real_time 必须是时间格式才能调用dt

data['date'] = data.real_time.dt.date

data['date'] = data.date.astype('str')

 

对于有时间日期参与的数据分析,我们可以查看时间的格式,如果只有某几个时间不连续,我们可以删除这些差异值

data.date.unique()  # 查看日期,差异非常大的日期值 我们删除掉

只有一个时间是2月份的,其它都是连续的日期

data.drop(labels = data.loc['data.date = '2067-02-21'].index,inplace = True)

data.reset_index(drop=True,inplace = True)

data.shape()

  

 

posted @ 2021-06-03 19:37  正在学Python  阅读(484)  评论(0编辑  收藏  举报