Быстрое подмножество массива Python

#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]