2016-01-13 2 views
-2

У меня есть два массива определяются как:Python: генерировать массив строк, основанный на индексации

Winter = np.array([ 9, 10, 11, 12 ]) 
Summer = np.array([ 4, 5, 6, 7, 8 ]) 
Other = np.array([ 1, 2, 3 ]) 

У меня есть еще один массив месяцев как:

GivenMonths = np.array([ 3, 4, 8, 8, 10, 7]) 

Я хочу, чтобы создать SeasonIdentifier как:

SeasonIdentifier = [ 'Other', 'Summer', 'Summer', 'Summer', 'Winter', 'Summer' ] 

ie для каждого элемента GivenMonths Я хочу найти, находится ли он из массива Зима или Лето и хранить эту информацию в SeasonIdentifier.

Edit: Внесены изменения в моей ориг вопрос основан на комментариях ниже

+0

Я понятия не имею, о чем вы спрашиваете. В чем проблема? –

+0

«10» - проблема – FunkySayu

+0

Почему 1,2,3 присутствуют как в зимний, так и в другом? так что если мы найдем 1,2,3, то мы отдадим приоритет Другому? –

ответ

2

Является ли это то, что вы хотите?

SeasonIdentifier = ['Summer' if x in Summer else 'Winter' if x in Winter else 'Other' for x in GivenMonths] 
+0

Извините, мне не хватало массив «Другое» в моем сообщении. Но ваш ответ очень близок. Я собираюсь попробовать это с помощью elif. – Zanam

+0

Обновлено ....... –

+1

Вам не нужно использовать '.tolist()' –

Смежные вопросы