Как идентифицировать строки df1, содержащие элемент, содержащийся в df2 в Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как идентифицировать строки df1, содержащие элемент, содержащийся в df2 в Python?

Сообщение Anonymous »

У меня есть два фрейма данных, которые я хотел бы сравнить, и мне нужно знать, присутствуют ли объекты, хранящиеся в df1, также в моем df2.
Однако объекты моего df2 длиннее из-за большого количества дополнительной информации.
В качестве примера, мой df1:
df1 = pandas.DataFrame(data = {'data1' : ['S10321Nr1.1', 'S10321Nr2.1', 'S10321Nr3.1', 'S10321Nr4.1']})
тогда мой df2:
df2 = pandas.DataFrame(data = {' data2' : ['HPAFII/Counts/S10323Nr1/HPAFII.S10323Nr1.1.genes.raw.csv.gz', 'HPAFII/Counts/S10323Nr1/HPAFII.S10323Nr1.2.genes.raw.csv.gz.md5sum', 'HPAFII/Counts/S10323Nr10/HPAFII.S10323Nr1.3.genes.raw.csv.gz', 'HPAFII/Counts/S10323Nr10/HPAFII.S10323Nr4.1.genes.raw.csv.gz.md5sum']})
Есть ли способ получить строки df1, для которых число в df1 также присутствует в df2?
Я бы хотел, чтобы он возвращал новый столбец в df1, например:
df1 = pandas.DataFrame(data = {'data1': ['S10321Nr1.1', 'S10321Nr2.1', 'S10321Nr3.1', 'S10321Nr4.1'], 'true-false': ['True', 'False', 'False', 'True']})
Я уже пробовал использовать следующие стратегии, но они не работают должным образом (возврат nan):
df1["TrueFalse"] = df2['data_name'].apply(lambda x: 1 если есть (i in x for i in df1) else 0)df1['new_col'] = df1[~df1['data1'].isin(df2)]
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... df2-in-pyt
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»