Давайте рассмотрим этот фиктивный набор данных,
Код: Выделить всё
import pandas as pd
data = {
'store': ['A', 'A', 'B', 'B', 'C', 'C', 'A', 'B', 'C'],
'item': ['X', 'Y', 'X', 'Y', 'X', 'Y', 'X', 'Y', 'X'],
'date': ['2023-01-01', '2023-01-01', '2023-01-01', '2023-01-01', '2023-01-01', '2023-01-01', '2023-01-02', '2023-01-02', '2023-01-02'],
'Sold_Qty_LY': [10, 20, 15, 25, 30, 40, 10, 15, 20],
}
df = pd.DataFrame(data)
Код: Выделить всё
subset = ['store', 'item', 'date']
df['Total_SKU_Count'] = (~df.duplicated(subset=subset, keep='first')).astype(int)
Код: Выделить всё
store item date Sold_Qty_LY Total_SKU_Count
0 A X 2023-01-01 10 1
1 A Y 2023-01-01 20 1
2 B X 2023-01-01 15 1
3 B Y 2023-01-01 25 1
4 C X 2023-01-01 30 1
5 C Y 2023-01-01 40 1
6 A X 2023-01-02 10 1
7 B Y 2023-01-02 15 1
8 C X 2023-01-02 20 1
Код: Выделить всё
subset = ['store', 'item']
df['Total_SKU_Count'] = (~df.duplicated(subset=subset, keep='first')).astype(int)
Код: Выделить всё
store item date Sold_Qty_LY Total_SKU_Count
0 A X 2023-01-01 10 1
1 A Y 2023-01-01 20 1
2 B X 2023-01-01 15 1
3 B Y 2023-01-01 25 1
4 C X 2023-01-01 30 1
5 C Y 2023-01-01 40 1
6 A X 2023-01-02 10 0
7 B Y 2023-01-02 15 0
8 C X 2023-01-02 20 0
Я нашел это решение в stackoverflow:
- Полярные — удалить повторяющуюся строку на основе подмножества столбцов, но оставить в первую очередь
Подробнее здесь: https://stackoverflow.com/questions/777 ... equivalent
Мобильная версия