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
总结
到此这篇关于Python pandas删除指定行/列数据的文章就介绍到这了,更多相关python pandas删除指定行/列内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!