有没有办法根据 pandas DataFrame 中的类别查找模式?

Is there a way to find patterns based on categories in a pandas DataFrame?

我想知道是否有一种方法可以根据类别在 pandas DataFrame 中查找模式。

我知道 kmeans 适用于数值,但我的数据框主要由类别和日期组成:

car   check   jobcard   date        season 
merc  A       12A       01-01-2010  Winter
bmw   B       45A       03-02-2010  Winter
merc  A       12D       10-01-2010  Winter
bmw   C       25C       01-05-2010  Spring
vw    A       62B       01-08-2010  Summer
etc

大概5000行,数据集代表了不同类型的检查,检查后需要维修,我想看到一个规律,比如宝马主要在夏天出问题,或者12A工作卡永远不会发生在冬天。我已经制作了一些散点图,但无法从中得到任何结果:Scatterplot

是否有任何软件包可以提供更好的概览,或者可以像 kmeans 处理数值一样对类别进行聚类?

k-means 有一个变体,称为 k-modes,已在此处发布

http://www.cs.ust.hk/~qyang/Teaching/537/Papers/huang98extensions.pdf

这适用于分类数据。

请注意,您得到的解决方案对初始条件很敏感,如此处所述

https://arxiv.org/ftp/cs/papers/0603/0603120.pdf

查看此 pythonic 实现

http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

您要找的是Association Rule Mining. There are many google hits for that term, including some python-implementations. As a playground, you may use Orange