我有一个这样的数据框,其中的列是一些指标的得分:
A B C D
4 3 3 1
2 5 2 2
3 5 2 4
我想创建一个新的列,用列名作为字符串来总结每一行中哪些指标得分超过了设置的阈值。因此,如果阈值是A>;2,B>;3,C>;1,D>;3,我希望新列如下所示:
A B C D NewCol
4 3 3 1 AC
2 5 2 2 BC
3 5 2 4 ABCD
我试着用了一系列np.哪里地址:
df[NewCol] = np.where(df['A'] > 2, 'A', '')
df[NewCol] = np.where(df['B'] > 3, 'B', '')
等等
但是当所有四个度量都不满足条件时,就会发现结果被最后一个度量覆盖,例如:
A B C D NewCol
4 3 3 1 C
2 5 2 2 C
3 5 2 4 ABCD
我很肯定有一个更简单和正确的方法来做到这一点。你知道吗
另一个以阵列方式运行的选项。比较一下性能会很有趣。你知道吗
提供:
使用
dot
你可以做:
输出
相关问题 更多 >
编程相关推荐