字符串模式的总和?

我有一个像这样的Pandas DataFrame:

ID        Traverse001        1->1->1->2->3->1002        13->13003        2->3->13->15004        5->6->3005        16->7->7->7->7->8006        4->4->3->5007        5->5->1->1->1->2

输出应如下所示:

1 to 1 : 41 to 2 : 22 to 3 : 24 to 4 : 13 to 5 : 113 to 13 : 17 to 7 : 3...依此类推 

这基本上是识别模式并计算其出现次数,然后为这样的DataFrame生成输出。

我写了一个查询如下:

df.Quad.str.contains(r'1->1').sum()` #获取1->1

但它只是将包含像1->1这样的模式的行相加,而没有单独相加

注意:1->1->1应输出1 to 1 : 2(以此类推)


回答:

import pandas as pdfrom collections import Counterdf = <your dataframe>count = Counter()for row in df['traverse']:    nums = list(map(int, row.split('->')))    for index, value in enumerate(nums[:-1]):        count[value, nums[index + 1]] += 1for key, value in sorted(count.items()):    print('{k[0]} to {k[1]} : {v}'.format(k=key, v=value))

输出:

1 to 1 : 41 to 2 : 22 to 3 : 23 to 1 : 13 to 5 : 13 to 13 : 14 to 3 : 14 to 4 : 15 to 1 : 15 to 5 : 15 to 6 : 16 to 3 : 17 to 7 : 37 to 8 : 113 to 13 : 113 to 15 : 116 to 7 : 1

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注