-
1、用法:DataFrame.drop(labels=None, axis=0, index=None, columns=None, inplace=False)
-
2、参数说明:
-
labels:要删除的行/列的名字,用列表给出
-
axis:默认为0,即删除行,删除列时指定为1
-
index:直接指定要删除的行
-
columns:直接指定要删除的列
-
inplace:默认为False,即删除操作不改变元数据,而是返回一个执行删除操作后的新DataFrame,若为True,则会在元数据据上进行删除操作,删除后无法返回
-
3、删除行列的两种方式:
-
1)labels=None, axis=0/1的组合
-
2)index或columns直接指定要删除的行或列
-
-
-
1.滤除缺失数据dropna()
-
import pandas as pdimport numpy as npdf=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")
-
-
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
-
————————————————版权声明:本文为CSDN博主「永远在减肥永远110的的小潘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/p1306252/article/details/114890550