Как я могу удалить строки, которых нет в другом наборе данных? - PullRequest
0 голосов
/ 16 января 2020

Я хочу удалить строку из одного набора данных (df1), если в столбце «A» этой строки есть строка, которая не является частью строки из другого набора данных (df2), например:

df1:    df2:
A B     A  B   
h 1     j  5 
i 2     h  3 
j 6     p  3
g 2     t  1

В этом случае, анализируя только столбец A в df2, так как «j» и «h» существуют в df1, эти строки остаются в df2. Однако в списке df1 нет «p» или «t», поэтому я бы хотел, чтобы эти строки были удалены из набора данных df2.

Я попытался создать al oop для этой цели, однако Так как я присоединился к индексам каждой строки (0, 1, 2, 3 ..) и поскольку мне уже пришлось стирать другие строки по другим причинам, многие индексы были потеряны, поэтому он начинается, например, с 120, затем он идет делать 127 и так далее ...

Кто-нибудь может мне чем-нибудь помочь? Заранее большое спасибо!

1 Ответ

0 голосов
/ 16 января 2020

Здесь вы go

import pandas as pd

df1 = pd.DataFrame({ 'A' : ['h','i','j','g'], 'B' : [1,2,6,2]})
df2 = pd.DataFrame({ 'A' : ['h','a','j','c'], 'B' : [1,2,6,2]})
df2 = df2[df2['A'] == df1['A']]
...