Машина предоставляет коды ошибок, которые указаны в кадре данных pandas. id
идентифицирует машину, code
— код неисправности:
df = pd.DataFrame({
"id": [1,1,1,1,1,2,2,2,2,3,3,3,3,3,3,4],
"code": [1,2,5,8,9,2,3,5,6,1,2,3,4,5,6,7],
})
Пример чтения: Машина 1 сгенерировала 5 кодов: 1,2,5,8 и 9.
Я хочу выяснить, какие комбинации кода наиболее часто встречаются на всех машинах. Результатом для примера будет что-то вроде [2]
(3x), [2,5]
(3x), [3,5]
(2x) и так далее.
Как я могу этого добиться? Поскольку данных много, я ищу эффективное решение.
Вот два других способа представления данных (на случай, если это упростит расчет):
pd.crosstab(df.id, df.code)
df.groupby("id")["code"].apply(list)
explode
для списка кортежей для возможного подсчета наvalue_counts
28.09.2020