Как создать список и отфильтровать строку из другого фрейма данных?

#python-3.x #pandas

#python-3.x #панды

Вопрос:

Я знаю, что этот вопрос задавался раньше, но каждое решение, похоже, не работает и дает мне тот же результат. Я ищу понимание того, что я делаю неправильно.

T_18_x2 и Tryp18_50 — это большие фреймы данных с разными данными (за исключением 2 столбцов). В частности, каждый фрейм данных содержит столбец с именем ‘Gene’, который имеет тот же стиль sting (т.е. HSP90A_HUMAN). Я хотел бы составить список из столбца Gene в T_18_x2 для фильтрации строк в Tryp18_50 с той же строкой в столбце «Gene».

Моя проблема заключается в том, что выходные данные представляют собой просто пустой фрейм данных. Я думаю, что это строка (y2), потому что вывод этого списка представляет собой дубликаты строк в столбце. Я тоже не уверен, почему это происходит. Список

Любая помощь была бы очень признательна.

входные данные:

 y2 =T18_x2['Gene'].astype(str).values.tolist()
T18 = Tryp18_50[Tryp18_50['Gene'].isin(y2)]
T18
 

вывод:

Вывод

** Я тоже пробовал:

 T18=Tryp18_50[pd.notna(Tryp18_50['Gene']) amp; Tryp18_50['Gene'].astype(str).str.contains('|'.join(y2))]
 

с выходом:

2-й вывод

Ответ №1:

Моя ошибка, у меня было два столбца «Gene» в первом фрейме данных.