df.dropna() 过滤数据中的缺失数据

df.dropna() 过滤数据中的缺失数据,第1张

df.dropna() 过滤数据中的缺失数据
Dataframe.dropna(axis = 0,how = 'any',thresh = None,subset = None,inplace = False)
参数:

axis:{0 or ‘index’, 1 or ‘columns’}, default 0,确定是否删除包含缺失值的行或列,在1.0.0版中进行了更改:将元组或列表传递到多个轴上。只允许一个轴。

how:{‘any’, ‘all’}, default ‘any’,当我们有至少一个NA或全部NA时,确定是否从Dataframe中删除行或列,'any':如果存在任何NA值,则删除该行或列,'all':如果所有值均为NA,则删除该行或列。

thresh:int, optional,需要许多非NA值。

subset:array-like, optional,要考虑的其他轴上的标签,例如,如果要删除行,这些标签将是要包括的列的列表。

inplace:bool, 默认为False。

官网案例

代码:

df = pd.Dataframe({"name": ['Alfred', 'Batman', 'Catwoman'],
                   "toy": [np.nan, 'Batmobile', 'Bullwhip'],
                   "born": [pd.NaT, pd.Timestamp("1940-04-25"),
                            pd.NaT]})
df

输出: 

       name        toy       born
0    Alfred        NaN        NaT
1    Batman  Batmobile 1940-04-25
2  Catwoman   Bullwhip        NaT
过滤掉有缺失数据

代码:

df.dropna()

输出:

     name        toy       born
1  Batman  Batmobile 1940-04-25

但此时df的值是,没有更改,因为inplace=False:

       name        toy       born
0    Alfred        NaN        NaT
1    Batman  Batmobile 1940-04-25
2  Catwoman   Bullwhip        NaT
剩下几个参数
df.dropna(axis='columns')          #删除有缺失值的列
df.dropna(how='all')               #将所有元素都缺失的行删除
df.dropna(thresh=2)                #仅保留至少具有2个非NA值的行
df.dropna(subset=['name', 'born']) #在name和born列中查找缺失值,一旦有缺失值就删除行
df.dropna(inplace=True)            #确认覆盖原数据
对缺失值的类型解释一下 缺失值类型说明NoneNoneTypeNone不同于空列表和空字符串,是一种单独的格式NaNFloatNaN是numpypandas下的,不是Python原生的,Not a Number的简称。Null-在Python中没有这个NULL,NULL主要是在C语言中,在Python中对应的就是NoneNaTDatatime非时间空值,Not a Time“”str空字符串

 官网代码:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Dataframe.dropna.html?highlight=dropna#pandas.Dataframe.dropnahttps://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Dataframe.dropna.html?highlight=dropna#pandas.Dataframe.dropna

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5670428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存