如何使用numpy.where()和python修复“ TypeError:&:'list'和'list'的不受支持的操作数类型”?

时间:2019-07-08 19:00:50

标签: python pandas numpy

我有一个包含许多列的csv表,其中包括名为“ blend”的列和名为“ hires”的列。 Blend具有类似“ N”,“ Y unpub NAME”和“ Y?”的元素。取消发布NAME。” 雇用具有“ N”,“重做;电话的名称”和“电话的名称”之类的元素。

我想要一个满足以下条件的列表(称为“ known_binary”):blend =='Y'&hires!='N'&hires!='redo'。 (我将使用这些可能性的其他组合来制作其他列表,例如其中的列表:blend =='Y?'&(hires =='N'| hires =='redo')。

我知道如何让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]

我收到错误消息:“ TypeError:&:'list'和'list'的不受支持的操作数类型”

我只想列出我所陈述的条件成立的索引列表(可能措词不正确,对不起)。

例如,如果hirers列中的元素只是“重做”而不是“ redo;特定望远镜的名称”,我不会有任何问题。

我知道如何在python中为天文学做一些特定的事情,但是总的来说,我对这些东西的工作原理知之甚少。 预先感谢!

0 个答案:

没有答案