美文网首页
Ptyhon Pandas常用的操作

Ptyhon Pandas常用的操作

作者: 致Great | 来源:发表于2018-10-25 17:39 被阅读33次

    1 统计空值

    # print(data.isnull().any()) # 判断哪些列存在缺失值
    # print(data[data.isnull().values==True]) # 判断单元是否为缺失值
    

    下面是统计空值的个数

    import pandas as pd
    import numpy as np
    data={
        'a':[1,2,3,4],
        'b':[3,5,np.nan,np.nan],
        'c':[np.nan,0,np.nan,0],
    }
    
    df=pd.DataFrame(data)
    print(df)
    

    创建了一个df,输出如下

       a    b    c
    0  1  3.0  NaN
    1  2  5.0  0.0
    2  3  NaN  NaN
    3  4  NaN  0.0
    
    

    输出每个数据是否为空值

    print(df.isnull())
    
           a      b      c
    0  False  False   True
    1  False  False  False
    2  False   True   True
    3  False   True  False
    

    统计空值的个数,下面两种方式效果一样

    print(df.isnull().astype(int).sum())
    print(df.shape[0]-df.count())
    
    a    0
    b    2
    c    2
    dtype: int64
    a    0
    b    2
    c    2
    dtype: int64
    

    判断某一列是否存在空值;判断空值所在的行

    print(df[df.T.isnull().any()].columns)
    print(len(df.columns[df.isna().any()].tolist()))
    print(df[df.isnull().values==True])
    

    2 去除重复项

    DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)
    
    • subset : column label or sequence of labels, optional
      用来指定特定的列,默认所有列
    • keep : {‘first’, ‘last’, False}, default ‘first’
      删除重复项并保留第一次出现的项
    • inplace : boolean, default False
      是直接在原来数据上修改还是保留一个副本

    3 pandas 修改列名

    df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'})
    

    总结

    • 在pandas中,大部分方法如果有参数inplace这个参数,取值为False时修改pandas后不替换原来的df;如果为True时,修改df后替换原先的值

    参考资料

    相关文章

      网友评论

          本文标题:Ptyhon Pandas常用的操作

          本文链接:https://www.haomeiwen.com/subject/bnuctqtx.html