Я пытаюсь использовать .isin с ~, чтобы получить список уникальных строк на основе нескольких столбцов в двух наборах данных.
Итак, у меня есть 2 набора данных с 9 строками: df1 — нижний, а df2 — верхний (извините, но я не смог показать оба ниже, он показал 1, а затем ряд чисел)
Index Serial Count Churn
1 9 5 0
2 8 6 0
3 10 2 1
4 7 4 2
5 7 9 2
6 10 2 2
7 2 9 1
8 9 8 3
9 4 3 5
Index Serial Count Churn
1 10 2 1
2 10 2 1
3 9 3 0
4 8 6 0
5 9 8 0
6 1 9 1
7 10 3 1
8 6 7 1
9 4 8 0
Я хотел бы получить список строк из df1, которых нет в df2, на основе более чем 1 столбца.
Например, если я основываю свой поиск на столбцах Serial и Count, я не получу индекс 1 и 2 обратно из df1, поскольку он отображается в df2 в позиции индекса 6, то же самое с позицией индекса 4 в df1, поскольку он отображается в позиции индекса 2. в дф2. То же самое относится к позиции индекса 5 в df1, как и к позиции индекса 8 в df2.
Колонка оттока не имеет большого значения.
Я могу заставить его работать, но только на основе 1 столбца, но не более 1 столбца.
df2[~df2.Serial.isin(df1.Serial.values)] делает то, что я хочу, но только в 1 столбце. Я хочу, чтобы он был основан на 2 или более.
Index Serial Count Churn
3 9 3 0
6 1 9 1
7 10 3 1
8 6 7 1
9 4 8 0