我自己找到了一种从 pandas 数据框中删除 nan 行的方法。给定一个数据框 dat
列 x
包含 nan 值,是否有更优雅的方法来删除具有 nan 的 dat
的每一行x
列中的值?
dat = dat[np.logical_not(np.isnan(dat.x))]
dat = dat.reset_index(drop=True)
最佳答案
使用 dropna :
dat.dropna()
如果所有标签都是 nan 或任何标签都是 nan,您可以传递参数 how
来删除
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 在下面的回答中所建议的那样,您可以使用以下内容:
dat.dropna(subset=[col_list]) # col_list is a list of column names to consider for nan values.
关于python - 在 pandas 中删除 nan 行的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36370839/