阅读 407

Python pandas删除指定行/列数据的方法实例

这篇文章主要给大家介绍了关于Python pandas删除指定行/列数据的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

目录
  • 1.滤除缺失数据dropna()

    • 1)滤除含有NaN值的所有行

    • 2)滤除含有NaN值的所有列

    • 3)滤除元素都是NaN值的行

    • 4)滤除元素都是NaN值的列

    • 5)滤除指定列中含有缺失的行

  • 2.删除重复值 drop_duplicates()

    • 1)keep=“first”

    • 2)keep=“last”

    • 3)keep=False

    • 4)删除指定列中重复项对应的行

  • 3.根据指定条件删除行列drop()

    • 1).删除指定列

    • 2).删除指定行

  • 总结

    1.滤除缺失数据dropna()

    1
    2
    3
    import pandas as pd
    import numpy as np
    df=pd.DataFrame({"record":[np.nan,"亚健康|潘光|45岁","疾病|张思",np.nan],"date":[np.nan,20210102,20210103,20210104]},index=["one","two","three","four"])

    1)滤除含有NaN值的所有行

    1
    df.dropna()#默认axis=0

    2)滤除含有NaN值的所有列

    1
    df.dropna(axis=1)

    3)滤除元素都是NaN值的行

    1
    df.dropna(axis=0,how="all")

    4)滤除元素都是NaN值的列

    5)滤除指定列中含有缺失的行

    1
    df.dropna(subset=["record"],axis=0)

    以上如果需要在原数据上直接做更改,需设置参数inplace=True

    2.删除重复值 drop_duplicates()

    1
    df=pd.DataFrame({'state':[1,1,2,2,1,2,2],'pop':['a','b','c','d','b','c','d']})

    语法:drop_duplicates(subset,keep,inplace),其中参数 keep:{‘first’,‘last’,False},默认’first’

    first:保留第一次出现的重复项,删除第二次及之后出现的重复项。

    last:保留最后一次出现的重复项,删除之前出现的重复项。

    "false":删除所有重复项。


    1)keep=“first”

    1
    df.drop_duplicates(keep="first")

    2)keep=“last”

    1
    df.drop_duplicates(keep="last")

    3)keep=False

    1
    df.drop_duplicates(keep=False)

    4)删除指定列中重复项对应的行

    1
    df.drop_duplicates(subset=["state"],keep="first")

    以上如果需要在原数据上直接做更改,需设置参数inplace=True

    3.根据指定条件删除行列drop()

    1
    df=pd.DataFrame(np.arange(16).reshape(4,4),columns=["one","two","three","four"])

    1).删除指定列

    1
    df.drop(["one"],axis=1)

    另外,也可通过del df["one"]来实现删除指定列,但该方法不推荐,因为这默认直接在源数据上做更改。

    2).删除指定行

    1
    df.drop([0],axis=0)

    以上如果需要在原数据上直接做更改,需设置参数inplace=True

    总结

    到此这篇关于Python pandas删除指定行/列数据的文章就介绍到这了

    原文链接:https://blog.csdn.net/p1306252/article/details/114890550


      文章分类
      代码人生
      版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
      相关推荐