Количество совпадений в столбце Series
подскажите, как посчитать количество совпадений в столбце? например, есть таблица
df = pd.Series(['a|b', 'a', 'a|d', 'a|c|d', 'c|b|c', 'd|c', 'b|a'])
как в нём посчитать какие самые повторяющиеся пары значений? чтобы получилось, например ac повторяется x раз ab повторяется y раз abc повторяется z раз и т.д
Ответы (1 шт):
Автор решения: Vasyl Kolomiets
→ Ссылка
Для столбца датафрейма:
df['x'].value_counts(sort=False).to_dict()
для сериас:
df = pd.Series(['a|b', 'a', 'a', 'a|d', 'a|c|d', 'c|b|c', 'd|c', 'b|a'])
df.value_counts(sort=False).to_dict()
выдаст
{'a': 2, 'a|d': 1, 'b|a': 1, 'a|c|d': 1, 'd|c': 1, 'a|b': 1, 'c|b|c': 1}
Второй вариант через groupby:
df.groupby(by=df).size()
выдаст
Out[20]:
a 2
a|b 1
a|c|d 1
a|d 1
b|a 1
c|b|c 1
d|c 1
dtype: int64
Но можно получить тот же словарь:
df.groupby(by=df).size().to_dict()