pandas - 绝对值中具有 lt/gt 值的特征的数据标准化
问题描述
我正在处理的数据集之一几乎没有具有 lt/gt 值和绝对值的特征。请参考以下示例 -
>>> df = pd.DataFrame(['<10', '23', '34', '22', '>90', '42'], columns=['foo'])
>>> df
foo
0 <10
1 23
2 34
3 22
4 >90
5 42
注意 - foo 是 % 值。即 0 <= foo <= 100
如何转换这些数据以运行回归模型?
解决方案
您可以做的一件事是,对于 <10 的值,估算中值 (5)。同样,对于 >90 的,估算为 95。
然后添加两个额外的布尔列:
df = pd.DataFrame(['<10', '23', '34', '22', '>90', '42'], columns=['foo'])
dummies = pd.get_dummies(df, columns=['foo'])[['foo_<10', 'foo_>90']]
df = df.replace('<10', 5).replace('>90', 95)
df = pd.concat([df, dummies], axis=1)
df
这会给你
foo foo_<10 foo_>90
0 5 1 0
1 23 0 0
2 34 0 0
3 22 0 0
4 95 0 1
5 42 0 0
推荐阅读
- swift - 防止 TextEditor 在 ScrollView 内滚动
- javascript - 为什么其中一个对象有原型,而第二个对象没有?
- javascript - 如何在 JavaScript 中使用带有 sweetalert 的确认功能
- javascript - RxJs 扩展方法导致额外的 HTTP 调用
- javascript - 如何用 jest 测试 axios 拦截器
- node.js - graphql 订阅和 Socket io/Client 订阅通道的替代方案
- python - Pandas 填写最近日期
- c++ - Range-v3 中是否有办法将元素添加到范围/视图中?
- python - 共享数据集和多个参数上的 ProcessPoolExecutor
- python-3.x - 在 python 中打印一个字符串,就像点阵打印机的工作方式一样