【发布时间】:2019-01-17 10:21:43
【问题描述】:
所以我已经看过this question。
我知道您可以有条件地替换单个列,但是多个列呢?当我尝试它时,它似乎不起作用。
the_data = np.array([[0, 1, 1, 1],
[0, 1, 3, 1],
[3, 4, 1, 3],
[0, 1, 2, 0],
[2, 1, 0, 0]])
the_data[:,0][the_data[:,0] == 0] = -1 # this works
columns_to_replace = [0, 1, 3]
the_data[:,columns_to_replace][the_data[:,columns_to_replace] == 0] = -1 # this does not work
我最初认为第二种情况不起作用,因为我认为the_data[:,columns_to_replace] 创建一个副本而不是直接引用元素。但是,如果是这种情况,那么当您只替换单个列时,第一种情况也不应该起作用。
【问题讨论】: