Первая группа по месяцам, затем используйте метод nunique
, чтобы получить месяцы с определенным числом дат:
table = { "Name": ["John", "Michael", "Joanna", "John", "Michael", "Joanna", "John", "Michael",
"Joanna", "John", "Michael", "Joanna", "John", "Michael"],
"Task": ["Market study", "Customer service", "Accounting", "Accounting", "Customer service", "Market study", "Customer service", "Market study", "Customer service", "Market study", "Customer service", "Accounting", "Customer service", "Accounting"],
"Team":["A", "B", "C", "B", "A", "C", "C", "A", "B", "A", "B", "C", "A", "B"],
"Date": [1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2],
"Month": [1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3]
}
grp = pd.DataFrame(table).groupby("Month")
unique = grp["Date"].nunique()
to_remove = unique[unique == 1].index.values
# to_remove = array([2], dtype=int64)
Затем в df
можно удалить строки, в которых указан месяц to_remove
.