#python #arrays
#python #массивы
Вопрос:
Перейдя с R на Python, я понимаю, почему так много людей любят Python за науку о данных. Одной из полезных функций R является быстрое подмножество. Например:
my_data = c(11,34,67,134,45,8,99,3543,1)
my_subset = c(3,8,1,6,4)
print(my_data[my_subset])
[1] 67 3543 11 8 134
Можно программно генерировать подмножества, удовлетворяющие различным условиям, и фильтровать данные по этому подмножеству с помощью одной инструкции. Как это можно сделать в python?
Комментарии:
1. Если у вас есть массив NumPy ,
arr = np.array([11,34,67,134,45,8,99,3543,1]); idx = np.array([3,8,1,6,4]); arr[idx-1]
вы должны это сделать, вывести ->array([ 67, 3543, 11, 8, 134])
2. Прекрасно! Спасибо
Ответ №1:
Я продолжу и укажу на очевидный однострочный:
data = (11,34,67,134,45,8,99,3543,1)
indices = (3,8,1,6,4)
subset = [data[i] for i in indices]
print(subset)
Вывод:
[134, 1, 34, 99, 45]