У меня есть таблица csv со многими столбцами, включая столбец с именем «blend» и столбец с именем «hires».В Blend есть такие элементы, как 'N', 'Y unpub NAME' и 'Y?unnpub NAME. 'У Hires есть такие элементы, как 'N', 'redo; NAME OF TELESCOPE' и 'NAME OF TELESCOPE.'
Мне нужен список (называемый 'known_binary'), в котором выполняются следующие условия: blend == 'Y '& hires! =' N '& hires! =' Повторить '.(Я буду создавать другие списки с другими комбинациями этих возможностей, такими как список, где: blend == 'Y?' & (Hires == 'N' | hires == 'redo').
Iзнать, как заставить Python просто посмотреть либо на первую букву элемента, либо на первые четыре буквы и т. д. (например, это работает без ошибок):
redo = np.where([x[0:4]=='redo' for x in hires])[0]
Но, когда я ставлю несколько вещейв np.where () это не работает:
file = pandas.read_csv('file location')
blend = file["blend"]
hires = file["hires"]
known_binary = np.where(([x[0]=='Y' for x in blend]) & ([x[0]!='N' for x in hires]) & ([x[0:4]!='redo' for x in hires]))[0]
Я получаю ошибку: «Ошибка типа: неподдерживаемые типы операндов для &: 'list' и 'list'"
Мне просто нужен список индексов (может быть неправильная формулировка, извините), где условия, которые я изложил, верны.
Если элементы в столбце найма (например) были просто "переделаны", а не"redo; имя конкретного телескопа" У меня не возникло бы никаких проблем.
Я знаю, как сделать некоторые специфические вещи в python для астрономии, но в целом я ОЧЕНЬ мало понимаю, как все это работаетЗаранее спасибо!