Python “评估抛投”;类型错误:不可损坏的类型:';numpy.ndarray和#x27&引用;

Python “评估抛投”;类型错误:不可损坏的类型:';numpy.ndarray和#x27&引用;,python,pandas,Python,Pandas,我有以下数据帧df: Col1 Col2 0 NaN Type1 1 NaN Type2 2 NaN Type1 3 A Type1 4 NaN Type1 我需要获取Col1等于NaN和Col2等于Type1的行的索引。这就是我所尝试的: ix = df.eval("Col1.isna() and Col2== 'Type1'") 但它给了我以下错误: TypeError: unhashable type: 'numpy.n

我有以下数据帧
df

   Col1    Col2
0  NaN     Type1
1  NaN     Type2
2  NaN     Type1
3  A       Type1
4  NaN     Type1
我需要获取
Col1
等于
NaN
Col2
等于
Type1
的行的索引。这就是我所尝试的:

ix = df.eval("Col1.isna() and Col2== 'Type1'")
但它给了我以下错误:

TypeError: unhashable type: 'numpy.ndarray'

这样做:

df.index[df['Col1'].isna() & df['Col2'].eq('Type1')].tolist()
这应该行得通,我刚刚能够运行它。

试试这个:

df.loc[(df['Col1'].isna())&(df['Col2'].eq('Type1'))]

我需要得到的是索引,而不是
df
的行。我得到的错误是
KeyError:“Col1.isna()和Col2='Type1'”
现在它返回一个空列表。但是如果我分别运行每个条件,我会得到正确的真/假分布。你知道为什么会这样吗?@Fluxy。现在应该可以了。切换到
.eq()