数据挖掘比赛常用数据处理函数

写在前面

该篇博客用来记录数据挖掘比赛中常用的pandas 处理技巧 实时更新

1.pandas apply applymap map 的使用

apply表示沿着dataFrame某一个轴执行函数 默认axies=0 即对每一列的所有行进行某一运算
如果axies=1 则对每一行的所有列进行某一运算
例:

In [116]: frame = DataFrame(np.random.randn(4, 3), columns=list('bde'), index=['Utah', 'Ohio', 'Texas', 'Oregon'])

In [117]: frame
Out[117]: 
               b         d         e
Utah   -0.029638  1.081563  1.280300
Ohio    0.647747  0.831136 -1.549481
Texas   0.513416 -0.884417  0.195343
Oregon -0.485454 -0.477388 -0.309548

In [118]: f = lambda x: x.max() - x.min()

In [119]: frame.apply(f)
Out[119]: 
b    1.133201
d    1.965980
e    2.829781
dtype: float64

def change(x):
    if x.find('iphone')==0:
        x='apple'
    return x
traindata['make']=traindata['make'].apply(lambda x: change(x))

applymap是对dataFrame中每一个元素都进行该操作
map是对Series中的每一个元素都进行该操作

2. csr csc 稀疏矩阵

在进行feature engineing 之后会产生很多feature位置为0的数据,这时候使用稠密矩阵存储会浪费很多空间 所以可以转化为稀疏矩阵 这里主要使用csr和csc这两种稀疏矩阵
在这里插入图片描述
csr稀疏矩阵 :存储3行数据 第一行数据是row的偏移量 即每一行和其前面所有行非零特征的总和 (总共有行数加1个元素 从第0行开始计算)
第二行数据为 每一个非零数据的列的index

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值