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()