Python数据处理numpy、pandas

#快速了解数据的行数和列数:

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)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值