使用Python的顺序图案挖掘
我有一个数据集
Name Subset Type System
A00 9-IU00-A OP A
A00 IT00 PP A
B01 IT-01A PP B
B01 IU OP B
B03 IM-09-B LP A
B03 IM03A OP B
B03 IT-09 OP A
D09 IT-A09 OP B
D09 07IM-09A LP B
D09 IM OP A
,因此在这里我需要对名称列进行分组,以使子集和类型相似。 我们必须仅考虑子集列的第一个字母顺序排列,而忽略休息。对于IM-09-B,IM03A可以视为IM。 子集
群集首先是字母顺序的字符串,其中任何数字,连字符等都使用
df['Subset'].str.extractall(r'[^a-zA-Z]*([a-zA-Z]+)[^,]*').groupby(level=0)[0].agg(','.join)})
所需的输出
Subset Cluster Type Cluster Name System
IU,IT OP,PP A00,B01 A,A,B,B
IM,IM,IT LP, OP, OP B03, D09 A,B,A,B,B,A
提取。 如何在这里使用顺序模式挖掘。
I have a dataset
Name Subset Type System
A00 9-IU00-A OP A
A00 IT00 PP A
B01 IT-01A PP B
B01 IU OP B
B03 IM-09-B LP A
B03 IM03A OP B
B03 IT-09 OP A
D09 IT-A09 OP B
D09 07IM-09A LP B
D09 IM OP A
So here I need to group the Name column such that Subset and Type are similar.
We have to only consider the first alphabetical part of the subset column and ignore rest. for eg IM-09-B, IM03A can be considered as IM.Subset
clusters are first alphabetical string withput any digit, hyphen, etc. extracted using
df['Subset'].str.extractall(r'[^a-zA-Z]*([a-zA-Z]+)[^,]*').groupby(level=0)[0].agg(','.join)})
Output needed
Subset Cluster Type Cluster Name System
IU,IT OP,PP A00,B01 A,A,B,B
IM,IM,IT LP, OP, OP B03, D09 A,B,A,B,B,A
Here the first cluster instance is formed because IU is OP and IT is PP in both cases, similar for the second instance.
How can a sequential Pattern mining be used here.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我们可以首先
sort_values
,然后使用链接groupby
,一次按名称汇总,然后再次按子集和键入群集:输出:输出:
We could
sort_values
first, then use a chainedgroupby
, once to aggregate by name, then again by subset and type clusters:Output: