python - 在 pandas 中删除 nan 行的更好方法

标签 python pandas

我自己找到了一种从 pandas 数据框中删除 nan 行的方法。给定一个数据框 datx 包含 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/

相关文章:

python - pytext 中的 Dict[str, Any] 或 Dict[str, Field]

python - 将 PIL 黑白图像转换为 Numpy 数组时出错

python - 如何将字典存储到数据库中,例如键和值对在django中具有单独的字段

python - 如何获取多索引数据帧与引用值的偏差

python-3.x - 如何从大字典中列出的每个类别的所有可能的值组合中创建数据框

python - 为什么我可以调用 Numpy RandomState 方法?

python - 如何在不导入 python 模块的情况下检查运行时是否有效?

python - 类型错误 : unhashable type: 'list' when use groupby in python

Pandas 按暨保持列分组

python - 使用新日期索引和带有标题子字符串的新列创建 Pandas DataFrame?