python - 用“INF”替换 NaN 值
问题描述
我正在尝试过滤我的几行Pandas dataframe
并替换过滤器标识的 NaN 值,以将它们替换为“无限”值。基本上 loc[] 过滤掉列 nur=0 和 mtbur 为空的行(mtbur 和 nur 是整数)。但是,我知道无限值在数据集中看起来并不干净。因此,我可以做些什么来使我的查询工作,你会建议我添加什么类似于“无限”值?
这是一段代码:
df.loc[(df.mtbur.isnull()) & (df.nur==0)].fillna(value='INF')
解决方案
我会用np.inf
.
import numpy as np
m_inf = (df.mtbur.isnull()) & (df.nur==0)
使用DataFrame.mask
或DataFrame.where
:
df = df.mask(m_inf,np.inf)
#df = df.where(~m_inf,np.inf)
如果要选择特定列:
cols = [list_of_your_columns]
df[cols] = df[cols].mask(m_inf,np.inf)
推荐阅读
- javascript - 数据库中复选框中的“打印”值
- matlab - 特定范围内的曲线循环伏安法下面积
- android - 在哪里/如何存储敏感信息?
- jquery - 在django中用jquery实时更新模板可以吗?
- c# - 以编程方式创建测试
- amazon-web-services - 使用 aws Autoscaling 组直接附加应用程序负载均衡器/网络负载均衡器
- cookies - Cookies不会一直删除角度7
- android - 有没有办法导航到目的地并将另一个添加到 NavigationManager 中的 backtstack?
- mysql - VB.net for MySQL 数据库中的 .open() 返回 System.Collections.Generic.KeyNotFoundException:字典中缺少给定键。如何解决?
- angular - Angular 组件没有被破坏