Кажется, ваш код ничего не делает с массивом, поскольку вы пытаетесь изменить переменную y
, а не сам массив. y
не ссылается на массив, он просто содержит найденные значения. Второй l oop также ничего не делает из-за того, что массив пуст - он проходит через 0 элементов. Что вам нужно, а не другой for
l oop, так это просто добавить в массив.
Со списком вы должны использовать метод .append()
для добавления элемента, однако, как вам кажется, используя numpy, вы захотите использовать функцию append(arr, values)
, которую он предоставляет, например:
array = np.array([])
for x in df["disc"]:
if x >= 3:
array = np.append(array, 0)
elif x < 3:
array = np.append(array, 1)
else:
array = np.append(array, 0)
Я также отмечу, что эти условия можно упростить, чтобы объединить две ветви, которые добавляют 0
. А именно, если x <3 и x не равно 0, добавьте 1, иначе добавьте 0. Таким образом, код можно переписать следующим образом. </p>
array = np.array([])
for x in df["disc"]:
if x < 3 and x != 0:
array = np.append(array, 1)
else:
array = np.append(array, 0)