1.处理丢失
mysql中有丢失的数据
在mysql中有null就是列中丢失数据
在pandas中的丢失数据是nan
在python中有两种为空的情况:np-NaN/None
df = DataFrame({'python':[100,101,np.nan,None],'java':[110,120,119,None]}) df 结果:如下表,丢失的数据全部为NAN
java | python |
---|---|
0 | 110.0 |
1 | 120.0 |
2 | 119.0 |
3 | NaN |
NaN在运算的时候并没有干扰正常的运算,但是会降低运算效率.在python中None类型本身是一个Object,numpy中的Nan是浮点数.
1)pandas对空值的处理
isnull()
notnull()
dropna()
fillna()
#isnull返回布尔值,为nan则为True cond = df.isnull()
#notnull返回布尔值,为Nan则为FALSE cond = df.notnull()
#将有空值的行直接删除 #在做数据分析是不会删除列(一般连数据都不会删除) #行相对于列来说没那么重要 cond = df.dropna
#how的作用是作为保留级别来使用的 df.dropna(how='all')
#将为空的值填充为0 df2 = df.fillna(value=0) df2
#method='ffill'找前面合法的数据,向后填充,axis=0拿前一行的值向后填充 #axis=1拿前一列的值向后填充 df3 = df.fillna(method='ffill', axis=1) 如: 120 101 120 101 110 nan 填充后: 110 101 nan nan 110 101 当axis=0: 120 101 120 101 110 nan 填充后: 110 110 nan nan nan nan
2.傅里叶变换
目前还没感觉用处有多大,后面学习了再来补充.