我的dataframe中有一列如下所示(总共265行):
FD
0.5
0.8
0.9
0.4
我想做的是每次FD大于0.7时创建一个新列。列需要有一个虚拟编码格式(例如,当FD大于时,将1放在剩下的行中,将0放在剩下的行中),并且每个列都被称为带有索引后缀的离群值。
基本上就是:
FD outlier1 outlier2 outlier 3 ...
0.5 1 0 0
0.8 0 1 0
0.9 0 0 0
0.4 0 0 1
我已经创建了一个新列,每当FD大于0.7时,它就会标记:
outlier = []
for row in df['FD']:
if row > 0.7: outlier.append('1')
elseif row < 0.7@ outlier.append('0')
else: outlier.append('0')
但是,它只创建一列:
FD outlier
0.5 0
0.8 1
0.9 1
0.4 0
由于我的问题的特殊性,以及对python的陌生,我发现很难找到解决方案。
先谢谢你了!
3条答案
按热度按时间k4ymrczo1#
可能有一个更好的方法来使用Pandas,但这应该工作:
输出:
zbsbpyhn2#
你也可以尝试这样的东西:
输出:
3mpgtkmj3#
我想这可以解决你的问题:
输出: