#快速了解数据的行数和列数:
df.shape()
#快速了解数据的结构:
df.info()
#快速查看数据的描述性统计信息
df.decribe() #显示数值型数据的描述统计
#简单的数据处理
df.columns #列名
#去掉空格
col = df.columns.values #提取列名
col[0].strio() #strip()一次只能处理一个数据,去除前后空格
df.columns = [x.strip() for x in col] #列表推导式
#重复值的处理
检查重复值duplicated()
duplicated()函数功能:查找并显示数据表中的重复值
这里需要注意的是:
——当两条记录中所有的数据都相等时duplicated函数才会判断为重复值
——duplicated支持从前向后(first),和从后向前(last)两种重复值查找模式
——默认是从前向后进行重复值的查找和判断,也就是后面的条目在重复值判断中显示 为True
df.duplicated() #返回布尔型数据,告诉重复值的位置
df[df.duplicated()]找到重复值的位置
df.duplicated().sum()#重复值数量
#删除重复值drop_duplicates()
drop_duplicates函数功能是:删除数据表中的重复值,判断标准恶化逻辑与duplicated函数一样。
df.drop_duplicates(inplace = True) #表示直接在原数据集上进行删除
#attention:只要动了原数据集,我们就要进行索引重置
df.index = range(df.shape[0])
异常值处理
df.describe().T
#找出“价格”的异常值
sta = (df['价格'] - df['价格'].mean())/df['价格'].std() #采用三倍标准差来判断异常值
df[sta.abs() > 3]
#找出 ‘节省’的异常值
df[df.节省 > df.价格]
——对于建模来说,通常会删掉异常值
——但对于业务来说,异常值中可能包含有更多的价值
#删除异常值
pd.concat([df[dff.节省>df.价格], df[sta.abs() > 3]])
delindex = pd.concat([df[dff.节省>df.价格], df[sta.abs() > 3]]).index
df.drop(delindex, inplace = True)
df.shape
缺失值的处理
df.isnull() #查看缺失值
df.notnull() #查看不是缺失值的数据
df.dropna() #删除缺失值
df.fillna() #填补缺失值
#缺失值填补实例
df.loc[df.出发地.isnull(), '出发地'] = [str(x)[:2] for x in fd.loc[df.出发地.isnull(), '路线名']]
#数据均值
df['价格'].mean()
#保留小数
round(df['价格'].mean(), 0)
#处理文本型数据
#如果我们想要在一系列文本提取信息,可以使用正则表达式,正则表达式通常被用来检索某#个规则的文本
#提取酒店评分
df['酒店评分'] = df.酒店.str.extract('(\d\.\d)分/5分', expand = True/False)