2016-12-07 2 views
0

У меня есть файл данных в .txt, который состоит из 2 столбцов. Первый - это мои значения x, а второй столбец содержит мои значения y.Boolean, Flatnonzero, выбор определенного диапазона в numpy в python

То, что я пытаюсь сделать, довольно просто. Я хочу определить, где мои значения x => 1700 и < = 1735, чтобы я мог получить соответствующие значения y в этом диапазоне x. В конце я хочу получить сумму этих значений y.

Следующий код, который я написал.

import numpy as np 

data = np.loadtxt('NI2_2.txt') 
x_all= data[:,0] 
y_all= data[:,1] 
x_selected= np.flatnonzero(np.logical_and(x_all<=1700),(x_all=>1735)) 
y_selected= y_all[x_selected] 
y_final= np.sum(y_selected) 

Я получаю сообщение об ошибке для моего x_selected, говоря, что синтаксис неверен. Кто-то видит, что с ним не так?

Спасибо! Сиси

ответ

1

np.where Попробуйте использовать:

y_selected = y_all[np.where((x_all >= 1700) & (x_all <= 1735))] 
y_final = np.sum(y_selected) 

EDIT: Кроме того, вы не можете писать => в питона. Используйте >=.

1

Это может быть только потому, что операнд сравнения -> = и не =>, но я не могу попробовать дальше, извините.

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