python - 如何用字符串分组
问题描述
我一直在尝试解决我之前发布的一个问题。现在我有一个 df 并且我想添加数字到Pairing
只要type
和Name
匹配。我使用 groupby 方法有点成功,如下所示:
x = df['type'].str[:5]
df['Pairing'] = df.groupby([x, 'Name']).ngroup()+1
Name | type | Pairing
---------------------------
Charles |Circle | 1
Scott |Square | 2
Scott |Triangle | 3
Anne |Rectangle | 4
Anne |Rectangle2 | 4
Anne |Oval | 5
Anne |Oval | 5
Bart |Octagon | 6
我使用.str[:5]
是因为有时一个数字或符号会附加到一个type
而不是另一个。这种方法有效,但是如果我有一个像 Oval
它这样的类型,因为它少于 5 个。
我不知道如何解决这个问题。如果有人有任何建议,请告诉我!我想知道和if
声明是否可以在这里工作?
解决方案
这将删除数字:
x = df['type'].str.replace('\d+', '')
推荐阅读
- javascript - JS,navigator.mediaDevices.getUserMedia() 不工作
- python - 如何将参数传递给 BuiltIn().run_keyword() 用于嵌入参数的关键字名称
- linux - Docker 在 cgroups v1 上将 inode 和 dentry 平板计算为 MEM USAGE:为什么?
- java - SpringBoot- IllegalArgumentException:没有足够的变量值可用于扩展
- typescript - Nestjs httpModule url 参数作为对象
- java - Eclipse 正在将 Java 字符读取为中文
- python - 多处理时如何删除重复项?
- go - 我如何(或应该)使用 Go 接口来选择两个包之一?
- reactjs - 从 Laravel 8 API 获取数据未从 React 客户端返回为 JSON
- java - 如何组合两个或多个参数化的 Monos Webflux 最佳实践