Python - 用 0 替换 null 并检查是否小于

标签 python pandas

我正在尝试检查空值,将其替换为零,并检查该值是否小于 5

来自一些研究 #df = df[df['speed'] < 5] 将删除大于 5 的记录 和 #df.fillna(0) will replace nulls

我已经尝试过了 df = df[df[df['speed'].fillna(0, inplace=True)]< 5] 但是它返回一个索引错误,我希望它需要分步完成

提前致谢

最佳答案

使用boolean indexing - 使用 fillna 而不使用 inplace=True,因为 inplace 返回 None:

df[df['speed'].fillna(0) < 5]

另一个解决方案:

df[(df['speed'] < 5) | df['speed'].isna()]

如果需要inplace操作,请使用2步,但在过滤后的DataFrame中,NaN被替换为0:

df['speed'].fillna(0, inplace=True)

df[df['speed'] < 5]

关于Python - 用 0 替换 null 并检查是否小于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56258187/

相关文章:

python - 将 unicode 数组转换为 numpy

MacOS 上的 Python 2.7 : Matplotlib causing ValueError: unknown locale: UTF-8

python - Pandas - 计算分组的天数

python - 使用 Pandas 的 Bin 日期时间范围

python - 将 Pandas 中的列解析为时间

python - 如何避免 gcloud compute 警报将 key 存储在缓存中

python - Selenium 使用Python : how to correctly click() an element?

python - 拟合函数返回 TypeError : float() argument must be string or a number in ScikitLearn

python - 如何在没有列名的情况下使用 Pandas 进行排序

python - Pandas 数据框将特定列从字符串转换为 float