我正在处理的一个数据集几乎没有具有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