我有一个熊猫数据框,看起来是这样的:
real_value, prediction
'invalid', 'inv'
'invalid', 'neg'
'invalid', 'inv'
'negative', 'neg'
'negative', 'neg'
'negative', 'neg'
'positive', 'pos'
'positive', 'pos'
'positive', 'inv'
我想选择预测值和实际值不匹配的所有行,换句话说,我想得到一个如下所示的数据帧:
real_value, prediction
'invalid', 'neg'
'positive', 'inv'
我试过了,但没用。根据用户定义的特定值(例如
df.loc[~df.prediction.isin(df.real_value)]
)进行选择很容易,但我找不到根据行本身中出现的值进行选择的方法。如何获得所需的选择?谢谢
最佳答案
使用以下条件:
df[df['real_value'].str[:3].ne(df['prediction'])]
输出:
real_value prediction
1 invalid neg
8 positive inv
ne
返回的值不等于of series和other。这是元素方面的。您不能使用isin
,因为这需要iterable、Series、DataFrame或dict,所以您不是在比较real_value
和prediction
元素。关于python - 如果行元素包含在另一个行元素中,请选择 Pandas 行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58170585/