簡體   English   中英

熊貓isin多列似乎不匹配?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM