继续小结和练习2

https://www.cnblogs.com/liaojiafa/p/6262223.html

  • 缺失值的处理:

我们先了解下这样的判断方法:

>>> a={1:'a',2:'b'}
>>> print([a[1]=='a'])
[True]

上述代码打印结果必然是True,小括号([])相当于if判断了,返回的值为布尔值。

 

下面对price为0的值(也就是缺失值)进行处理。

data['price'][(data['price']==0)]=None   # 对price的缺失值统统赋值为None,方便下面处理
data['price'][(data['price']==0)]=64   # 也可以这样写,直接把price的缺失值设置为price的平均数64.那么下面的for循环设置price的缺失值就不需要写。

对上面这段代码拆分来看:

  • (data['price']==0) 判断data['price']列中哪行price的值等于0,等于的返回True,不等于返回False
  • data['price'][(data['price']==0)] 这语句就是一下子把所有price=0的给取出来了 ,然后哪行的price等于0就 赋值为None

>>> (data['price']==0)
0       False
1       False
2       False
3       False
4       False
5       False
6       False
7       False
8       False
9       False
10      False
11      False
12      False
13      False
14      False
15      False
16      False
17      False
18      False
19      False
20      False
21      False
22      False
23      False
24      False
25       True
26      False
27      False
28      False
29      False
        ...  

 

>>> data['price'][(data['price']==0)]
25      0
185     0
911     0
2022    0
2039    0
2203    0
2284    0
2366    0
2634    0
3035    0
3213    0
3375    0
3707    0
3784    0
4183    0
4215    0
4332    0
4558    0
4746    0
5769    0
5802    0
5845    0
5915    0
5948    0
6210    0
6226    0
6328    0
6396    0
6620    0
6769    0
6820    0
6949    0
7128    0
7213    0
7444    0
7517    0
7738    0
7912    0
8137    0
8293    0
8741    0
8819    0
9456    0
9610    0
Name: price, dtype: int64
>>> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值