[英]Pandas isin for multiple columns does not seem to be matching?
我有一個數據幀(eval_datan),如下所示:
ccs1 ccs2 ccs3 ccs4 ccs5 ccsp1 ccsp2 ccsp3 ccsp4 ccsp5
0 101 164 53 98 200 102 100 256 259 133
1 204 120 147 258 151 47 256 259 48
49
2 197 2 39 253 259 259 49 98 256 257
3 198 258 126 127 128 133 128 256 134 92
4 204 211 232 244 95 259 256 257 98
254
我正在嘗試確定ccs5是否在ccsp1-ccsp5中
我的代碼是:
eval_datan['correct']=(eval_datan['ccs5'].isin (eval_datan[['ccsp1','ccsp2','ccsp3','ccsp4','ccsp5']]))
我得到的都是假的第2行應該說是真的如ccs5 = 259和ccsp1在第一時我認為它可能是不同的數字類型但我將ccsp列重新設置為int64的uint16,因為numpy最初生成的並沒有幫助。 ccs5列是uint16。
eval_datan['correct'] = eval_datan[['ccsp1','ccsp2','ccsp3','ccsp4','ccsp5']].isin(eval_datan['ccs5']).any(axis=1)
輸出:
ccs1 ccs2 ccs3 ccs4 ccs5 ccsp1 ccsp2 ccsp3 ccsp4 ccsp5 correct
0 101 164 53 98 200 102 100 256 259 133 False
1 204 120 147 258 151 47 256 259 48 49 False
2 197 2 39 253 259 259 49 98 256 257 True
3 198 258 126 127 128 133 128 256 134 92 True
4 204 211 232 244 95 259 256 257 98 254 False
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.