一早上只是4.1数据清洗的内容,主要原因是对代码的不熟悉。调试百度了好久,最后最有用的办法就是看英文文档。看英文可能看起来很痛苦,但是耐心看的话还是不错的。而且是最直接最有效的方法。
------------------------------------------------------------------------------------------
最令人困惑的问题就是pandas的赋值问题。
代码4-1中
data[
u'销量'][(
data[
u'销量']
< 400)
| (
data[
u'销量']
> 5000)]
= None #过滤异常值,将其变为空值 这里会抛出
SettingWithCopy warning异常。具体原因也不是太懂。是一种叫
chained indexing的东西。
要改成
data.loc[(
data[
'销量']
< 400)
| (
data[
'销量']
> 5000)
, '销量']
= None # 使用 | 时,一定要在并集的两边加上括号 而且在使用并集的时候需要在两边加上括号。否则会报错。
上面两种方法,简单来说,不同之处在于处理的方式不一样。
第一种会按照列单独处理,加入要提取两列的数据就是先处理第一列然后在处理第二列。
第二种会把所要提取得列当做一个整体,而不是分开处理,而且提高了效率。
具体参考:
http://pandas.pydata.org/pandas-docs/stable/indexing.html#returning-a-view-versus-a-copy
----------------------------------------------------------------------------------------------------
路漫漫其修远兮,学习的过程的漫长的,虽然现在的效率不高,但是慢慢学效果就会好了吧~JIAYOU
转载请注明原文地址: https://ju.6miu.com/read-10135.html