我自己找到了一种从熊猫数据帧中删除nan行的方法.给定一个包含nan值的dat
列的数据框x
,是否有一种更优雅的方法来删除列中的每个行dat
都有一个nan值x
?
dat = dat[np.logical_not(np.isnan(dat.x))]
dat = dat.reset_index(drop=True)
Run Code Online (Sandbox Code Playgroud)
Ter*_*aft 100
使用dropna:
dat.dropna()
Run Code Online (Sandbox Code Playgroud)
how
如果所有标签都是nan或者任何标签是nan,则可以将param传递给drop
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
Run Code Online (Sandbox Code Playgroud)
希望这能回答你的问题!
编辑1:
如果您想要删除nan
仅包含特定列的值的行,如J. Doe在下面的答案中所建议的那样,您可以使用以下内容:
dat.dropna(subset=[col_list]) # col_list is a list of column names to consider for nan values.
Run Code Online (Sandbox Code Playgroud)
J. *_*Doe 25
要扩展Hitesh的答案,如果你想删除'x'特别是nan的行,你可以使用subset参数.他的答案会在其他列也没有的情况下放下行
dat.dropna(subset=['x'])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
85773 次 |
最近记录: |