Аналог Pandas SQL Minus / кроме оператора, используя несколько столбцовPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Аналог Pandas SQL Minus / кроме оператора, используя несколько столбцов

Сообщение Anonymous »

Я ищу самый быстрый и идиоматический аналог SQL Minus (aka, кроме) оператора.

Код: Выделить всё

In [77]: d1
Out[77]:
a  b  c
0  0  0  1
1  0  1  2
2  1  0  3
3  1  1  4
4  0  0  5
5  1  1  6
6  2  2  7

In [78]: d2
Out[78]:
a  b   c
0  1  1  10
1  0  0  11
2  1  1  12
Как найти результат D1 минус D2 с учетом только столбцов «a» и «b» , чтобы получить следующий результат:

In [62]: res
Out[62]:
a b c
1 0 1 2
2 1 0 3
6 2 2 7
< /code>

mvce: < /p>

d1 = pd.DataFrame({
'a': [0, 0, 1, 1, 0, 1, 2],
'b': [0, 1, 0, 1, 0, 1, 2],
'c': [1, 2, 3, 4, 5, 6, 7]
})

d2 = pd.DataFrame({
'a': [1, 0, 1],
'b': [1, 0, 1],
'c': [10, 11, 12]
})
< /code>



Что я попробовал: < /p>

In [65]: tmp1 = d1.reset_index().set_index(["a", "b"])

In [66]: idx = tmp1.index.difference(d2.set_index(["a","b"]).index)

In [67]: res = d1.loc[tmp1.loc[idx, "index"]]

In [68]: res
Out[68]:
a b c
1 0 1 2
2 1 0 3
6 2 2 7
< /code>

Это дает мне правильные результаты, но у меня есть ощущение, что должен быть более идиоматический и более приятный /более чистый способ достичь этого.>

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Pandas переименовывает несколько столбцов, используя шаблон регулярного выражения
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как получить значение if input("xyz") где-то кроме оператора if?
    Гость » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Гость
  • Аналог корневого пути в uWSGI как в Uvicorn
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Аналог Android Vital для iOS
    Anonymous » » в форуме IOS
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Есть ли способ сделать аналог InsertSeparators PagedList?
    Anonymous » » в форуме Android
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

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