2016-08-24 2 views
-1

Я пытаюсь создать базовую поразрядную функцию, которая отфильтровывает для меня определенное подмножество моих данных.Python: SyntaxError с помощью побитовой функции

>>>heads=fits.open('datafile.fits') 
>>>data=heads[1].data 

Теперь, мне нужно маскировать точки данных, которые находятся в определенном столбце и которые устанавливаются на бит 0.

>>>ind=np.where(data['COLUMN_NAME'] & np.power(2,9) = 0) 

Однако этот вход бросает ошибку

File "<stdin>", line 1 
SyntaxError: keyword cant be an expression 

Ошибка не дает normal ^, который показывает, где ошибка, поэтому я не уверен, с какой частью моего входного python возникает проблема.

+0

Возможный дубликат [Python: СинтаксисError: ключевое слово не может быть выражением] (http://stackoverflow.com/questions/11633421/python-syntaxerror-keyword-cant-be-an-expression) – Li357

+2

Вопрос о '==' и '=' задавали тонны и тонны раз – Li357

ответ

1

равно сравнительный является ==:

ind=np.where(data['COLUMN_NAME'] & (2**9) == 0) 
1

Может быть потому, что вы используете '=' (назначение) вместо '==' (равенство) в вызове 'где'?

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