首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在熊猫群中添加增量计数器

如何在熊猫群中添加增量计数器
EN

Stack Overflow用户
提问于 2020-01-09 14:21:12
回答 2查看 152关注 0票数 1

我有关于熊猫的资料

代码语言:javascript
复制
 product_id      description
 1               abc
 2               def
 3               fer
 4               tyu
 5               abc
 6               def

我想要做的是给唯一的描述组分配增量数字。我想要的数据格式如下

代码语言:javascript
复制
 product_id      description    item_id
 1               abc            1 
 2               def            2
 3               fer            3
 4               tyu            4
 5               abc            1
 6               def            2

我在熊猫里做的事情

代码语言:javascript
复制
 group_vars = ['description']
 data = data.merge(data.drop_duplicates(group_vars).reset_index(drop=True), on=group_vars)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-09 14:25:37

您可能需要在这里使用series.factorize

代码语言:javascript
复制
df['item id']=df['description'].factorize()[0]+1
print(df)

代码语言:javascript
复制
   product_id description  item id
0           1         abc        1
1           2         def        2
2           3         fer        3
3           4         tyu        4
4           5         abc        1
5           6         def        2
票数 2
EN

Stack Overflow用户

发布于 2020-01-09 14:39:25

factorize的答案很好,但您也可以使用map

创建将描述映射到项id的系列:

代码语言:javascript
复制
l = data.drop_duplicates('description').set_index('description').product_id

这意味着:

代码语言:javascript
复制
print(l)
description
abc    1
def    2
fer    3
tyu    4

现在通过将l映射到description来创建新列

代码语言:javascript
复制
data['group_id'] = data.description.map(l)

代码语言:javascript
复制
   product_id description  group_id
0           1         abc         1
1           2         def         2
2           3         fer         3
3           4         tyu         4
4           5         abc         1
5           6         def         2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59666040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档