用pandas的isin,~+isin篩選數據

兩個DataFrame: test和train,都含有item_id列
1、我要判斷test裏面的item_id值都在不在train的item_id裏,
或者說test裏面的item_id值都被包含在train的item_id裏,
也就是說train的item_id都包含了test裏面的item_id嗎?
2、如果都在,OK;如果有不在的,我要找出沒在的那些記錄

test.item_id.isin(train.item_id).head()#顯示了前幾條,有False,有不在的
0     True
1    False
2     True
3     True
4    False
Name: item_id, dtype: bool

找出不在的記錄,把這些記錄存在test_item_rest裏:

test_item_rest= test[~test.item_id.isin(train.item_id)]
test_item_rest.head()
ID shop_id item_id year month
1 1 5 5320 2015 11
4 4 5 5268 2015 11
45 45 5 5826 2015 11
64 64 5 3538 2015 11
65 65 5 3571 2015 11

注意:不在:是在前面加一個~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章