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

时间:2018-03-13 11:04:58

标签: python pandas cluster-analysis categories

我想知道是否有办法根据类别在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

enter image description here

是否有任何软件包可以提供更好的概述,或者可以使用与数值相同的方式对类别进行聚类?

2 个答案:

答案 0 :(得分:1)

有一种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

答案 1 :(得分:1)

您正在寻找的内容称为Association Rule Mining。该术语有很多谷歌点击,包括一些python实现。作为游乐场,您可以使用Orange