Python pandas 删除指定行/列数据

25 篇文章 11 订阅

1.滤除缺失数据dropna()

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值的所有行

df.dropna()#默认axis=0

在这里插入图片描述

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

df.dropna(axis=1)

在这里插入图片描述

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

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述
以上如果需要在原数据上直接做更改,需设置参数inplace=True

2.删除重复值 drop_duplicates()

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”

df.drop_duplicates(keep="first")

在这里插入图片描述

2)keep=“last”

df.drop_duplicates(keep="last")

在这里插入图片描述

3)keep=False

df.drop_duplicates(keep=False)

在这里插入图片描述
4)删除指定列中重复项对应的行

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

在这里插入图片描述
以上如果需要在原数据上直接做更改,需设置参数inplace=True

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

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

在这里插入图片描述
1).删除指定列

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

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

2).删除指定行

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

在这里插入图片描述
以上如果需要在原数据上直接做更改,需设置参数inplace=True

  • 48
    点赞
  • 345
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值