Как сопоставить список в несколько столбцов - PullRequest
2 голосов
/ 23 марта 2020

пример моего фрейма данных,

   0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21 ...
0  A  B  C  D  E  F  G  H  I  J  K   L   M   N   O   P   Q   R   S   T   U   V
1  B  C  D  E  F  G  H  I  J  K  L   M   N   O   P   Q   R   S   T   U   V   A  
2  V  A  B  C  D  E  F  G  H  I  J   K   L   M   N   O   P   Q   R   S   T   U          

и моего списка

mylist = ['A', 'B' 'C']

Я хочу сопоставить столбцы и список так, чтобы в столбце существовали только символы из списка.

выведите то, что я хочу

   0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21 ...
0  A  B  C  
1  B  C                                                                      A  
2     A  B  C  

Я не уверен, что делать, поэтому задаю вопрос. Спасибо за чтение.

Ответы [ 2 ]

4 голосов
/ 23 марта 2020

Используйте DataFrame.isin с DataFrame.where:

mylist = ['A', 'B', 'C']
df = df.where(df.isin(mylist), '')
print (df)
   0  1  2  3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
0  A  B  C                                                   
1  B  C                                                     A
2     A  B  C   

Или, если возможна инвертирующая маска, используйте:

df[~df.isin(mylist)] = ''                                             
2 голосов
/ 23 марта 2020

Это также может работать -

df = df[df.isin(mylist)].fillna('')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...