Сравните два кадра данных

3
задан 18 March 2019 в 14:56
поделиться

3 ответа

Проверьте с помощью isin

df1.loc[(df1.B)&(~df1.name.isin(df2.Worker)),'name']

Обновление

df1.loc[(df1.B)&(~df2.B),'name']
0
ответ дан Wen-Ben 18 March 2019 в 14:56
поделиться

Вы можете использовать:

df1 = pd.DataFrame({'Name': ['A4', 'A5', 'A6', 'A7'], 'B': [True, True, True, False]})
df2 = pd.DataFrame({'Worker': ['A4', 'A6', 'C4', 'C7'], 'B': [True, False, False, True]})
df1[(df1['B']==True) & (df2['B']==False)]['Name']

Выход:

1    A5
2    A6
0
ответ дан heena bawa 18 March 2019 в 14:56
поделиться

Вы можете попробовать это

. Создать данные

data1 = [['Name','B'],['A4',True],['A5',True],['A6',True],['A7',False]]
data2 = [['Name','B'],['A4',True],['A6',False],['C4',False],['C7',True]]
df1 = pd.DataFrame(data1[1:],columns=data1[0])
df2 = pd.DataFrame(data2[1:],columns=data2[0])

print(df1)
  Name      B
0   A4   True
1   A5   True
2   A6   True
3   A7  False

print(df2)
  Name      B
0   A4   True
1   A6  False
2   C4  False
3   C7   True

. из df1, затем используйте df1_filtered. Если вам требуется вывод из df1, используйте df2_filtered.

  • 0
    ответ дан edesz 18 March 2019 в 14:56
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: