大家好,我在Stack Overflow和Google上搜索了很久,但都找不到类似的内容...
我有一个数据框x(基本上只包含一行和300列),还有另一个同样大小但数据不同的数据框y。我想修改x,使得当它与y的符号不同时且x本身不为0时,x变为0;否则保持不变。因此,这需要使用np.where和多个条件。然而,我看到的多条件示例都使用标量,当我使用相同的语法时,它似乎不起作用(最终将-everything-设为零,没有错误)。我担心隐藏在某个地方的引用赋值问题(y是移位后的x,但据我所知,在此代码之上没有上游问题)。有什么建议吗?
我正在尝试调试的代码是:
tradesmade[i:i+1] = np.where((sign(x) != sign(y)) & (sign(x) != 0), 0, x)
这只会返回一堆零。我也尝试过
tradesmade[i:i+1][(sign(x) != sign(y)) * (sign(x) != 0)] = 0
但这似乎也不起作用。我已经花了几个小时在这个问题上,完全无法解决。请帮忙!