数据挖掘中的常用预处理操作

本文详细介绍Pandas库中高级数据处理技巧,包括条件筛选、类型转换、分组统计等核心功能,适用于有一定Pandas基础的数据分析师和数据科学家。

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

主要是pandas中的操作,需要一定pandas基础:

1    提取某列数据中包含':'的,返回ture,false,nan
如:[data[label].str.contains(':')]

2    dataframe 用astype(str)实现类型转换

3    实现某种分割提取可用 pandas   str的内置方法
如df.str.split(':')

4    df.iloc[0:10]实现按行索引

5    df.groupby('product')['product'].count()
统计'product'每类有出现多少次

6    通过函数筛选label满足s1<label<s2条件的dataframe条目
data[data[label].map(lambda x: True if  s1<= str(x) <= s2 False)]

7    通过构建mask选出满足条件的条目    
  mask=list(map(lambda x, y: True if x ==1  and y != 1 else False,[1,2,3],[3,2,1]))
 [True, False, False]

8    from collections import Counter
 c = Counter('abcasd')        (也可以加.tiems())返回Counter({'a': 2, 'c': 1, 'b': 1, 's': 1, 'd': 1})


9    df['key1'].unique().reset_index(drop=True)
统计该项中有多少不同项

10    data=df[[label]].drop_duplicates([label])
        提取一列中不同的项(可作为索引)

11    df.fillna(-1,inplace=True)
填充并覆盖原来的df(默认为创建新的),如果使用inplace=Ture则返回值为NoneType

12    保存数据为某种格式

        np.savetxt('xgb_submission.csv',np.c_[range(1,len(tests)+1),preds],delimiter=',',header='ImageId,Label',comments='',fmt='%d')

13 得到某列的值
.get_values()  (或者.values)


14 groupby重点(nunique()很特殊)
1)groupby([label1,label2])[label3].nunique()#.reset_index
 以label1,label2作为索引(1为单,2为多),label1和label2存在,若加上reset_index后有序号索引(1,2多)
2)groupby([label1,label2],as_index=False)[label3].nunique()
 (label1,label2)都不存在,只有索引号和计数

3)groupby()和sum()结合,
groupby([label1,label2],as_index=False)[label3].sum()
不加as_index效果同nuique,加上as_index(或者reset_index())则自动有序号

---------------------
原文:https://blog.youkuaiyun.com/sinat_36256646/article/details/80530415

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值