У меня есть поддельный набор данных, представляющий список областей.Эти области содержат элементы, и каждый элемент имеет значение.
Я хотел бы подсчитать для каждой области количество уникальных элементов, значение которых удовлетворяет условию.Мне удалось решить эту проблему, но я хотел бы знать, есть ли в Пандах более чистый способ сделать это.
Вот моя попытка на данный момент:
# Building the fake dataset
dummy_dict = {
"area": ["A","A", "A","A","B","B"],
"member" : ["O1","O2","O2","O3","O1","O1"],
"value" : [90, 200, 200, 150, 120, 120]
}
df = pd.DataFrame(dummy_dict)
# Counting the number of unique members that satisfy the condition by zone
value_cutoff = 100
df["nb_unique_members"] = df.groupby("area")["member"].transform("nunique")
df.loc[df["value"]>=value_cutoff,"tmp"] = df.loc[df["value"]>=value_cutoff].groupby("area")["member"].transform("nunique")
df["nb_unique_members_above_cutoff"] = df.groupby("area")["tmp"].transform("mean")
df.head()
Есть лилучший способ сделать это в Пандах?Заранее спасибо!