python学习-pandas(2)

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.傅里叶变换

    ​ 目前还没感觉用处有多大,后面学习了再来补充.

猜你喜欢

转载自blog.csdn.net/u014229742/article/details/80699695