У меня есть следующий кадр данных:Выбор строк - на основе списка - из DF с дублированных столбцов
import pandas as pd
rep = pd.DataFrame.from_items([('Probe', ['x', 'y', 'z']), ('Gene', ['foo', 'bar', 'qux']), ('Probe',['x','y','z']), ("RP",[1.00,2.33,4.5])], orient='columns')
Который производит:
In [11]: rep
Out[11]:
Probe Gene Probe RP
0 x foo x 1.00
1 y bar y 2.33
2 z qux z 4.50
Обратите внимание, что есть дубликат колонки там. То, что я хочу сделать, это выбрать строку, на основе списка:
ls = ["x", "z", "i"]
Уступая это:
Probe Gene Probe RP
0 x foo x 1.00
2 z qux z 4.50
Обратите внимание, что мы хотели бы сохранить столбцы, основанные на оригинальном DF выше.
Почему это не удалось?
In [9]: rep[rep[[0]].isin(ls)]
ValueError: cannot reindex from a duplicate axis
Каков правильный путь? Любая альтернатива isin
?