在 pandas 中丢弃南行的更好方法 [英] better way to drop nan rows in pandas
本文介绍了在 pandas 中丢弃南行的更好方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我自己找到了一种从熊猫数据框中删除nan行的方法.给定具有列x
且包含nan值的数据框dat
,是否有更优雅的方法来删除x
列中具有nan值的dat
的每一行?
On my own I found a way to drop nan rows from a pandas dataframe. Given a dataframe dat
with column x
which contains nan values,is there a more elegant way to do drop each row of dat
which has a nan value in the x
column?
dat = dat[np.logical_not(np.isnan(dat.x))]
dat = dat.reset_index(drop=True)
推荐答案
使用 dropna :
dat.dropna()
如果所有标签均为nan或任何标签均为nan,则可以传递参数how
删除
You can pass param how
to drop if all labels are nan or any of the labels are nan
dat.dropna(how='any') #to drop if any value in the row has a nan
dat.dropna(how='all') #to drop if all values in the row are nan
希望能回答您的问题!
修改1:
如果您只想删除特定列中包含nan
值的行(如J. Doe在下面的答案中所建议的那样),则可以使用以下内容:
Edit 1:
In case you want to drop rows containing nan
values only from particular column(s), as suggested by J. Doe in his answer below, you can use the following:
dat.dropna(subset=[col_list]) # col_list is a list of column names to consider for nan values.
这篇关于在 pandas 中丢弃南行的更好方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文