筛选/组合相似的字符串值

2024-09-27 07:25:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含名称的数据帧,我正在尝试合并类似的名称。示例:

| name      | foo_val |
| --------- | ------- |
| Andrew    | 2       |
| Braden    | 1       |
| Cheryl    | 4       |
| Cheryl :D | 1       |
| Christian | 1       |
| Derrick   | 2       |
| Derrick L | 2       |

。。。你知道吗

等等。。。如果内容足够相似(如上例中的Cheryl和Derrick),我希望合并行(和foo_val的值),因此如下所示:

| name      | foo_val |
| --------- | ------- |
| Andrew    | 2       |
| Braden    | 1       |
| Cheryl    | 5       |
| Christian | 1       |
| Derrick   | 4       |

我还不太了解熊猫,但我已经看过了duplicated(如df.duplicated('name'))和groupby以及merge但我很确定这些不是我想要的(很可能是错的…)。在这一点上,我搜索了很多,但假设这是以前问过,所以请指出其他问题/答案,如果我错过了他们。。。你知道吗

我可以想象一种在纯Python中通过迭代实现这一点的方法,但是我很想知道在Pandas中这是否可行。。。你知道吗


Tags: 数据name名称示例内容dffooval
1条回答
网友
1楼 · 发布于 2024-09-27 07:25:29

在您发布的示例中,需要按字符串的第一部分分组并合并结果。可以使用

df.groupby(df.name.str.split().str[0]).foo_val.sum().reset_index()


    name        foo_val
0   Andrew      2
1   Braden      1
2   Cheryl      5
3   Christian   1
4   Derrick     4

相关问题 更多 >

    热门问题