为了账号安全,请及时绑定邮箱和手机立即绑定

匹配 df 列中的名称,然后添加一个数字将它们配对

匹配 df 列中的名称,然后添加一个数字将它们配对

冉冉说 2023-09-02 16:14:35
我有一个有两列的 df 。目标是从Name列中读取数据并向该列添加一个数字Pairing,但如果有多个相同的名称,它们将获得相同的数字。例如:Name    | Pairing  -----------Charles |1   Scott   |2   Scott   |2   Anne    |3   Anne    |3Anne    |3Bart    |4我尝试过使用str.replace ,但我相信我只能使用关键词。非常感谢任何有关如何解决此问题的提示。谢谢你!编辑:所以我做了一些调整,现在我尝试添加第三列:Name    | type  |      Pairing ---------------------------Charles |Circle      | 1Scott   |Square      | 2Scott   |Triangle    | 3Anne    |Rectangle   | 4Anne    |Rectangle   | 4Anne    |Oval        | 5Bart    |Octagon     | 6我试图在Pairing列中获取结果,因此只要Name&中匹配的内容type就会获得相同的数值。我已经尝试过了,这df['Pairing'] = pd.factorize(df['Name'].str[:6])[0] + pd.factorize(df['type'].str[:6])[0]有点有效,但它没有给我准确的结果。是否还有从 1 而不是 0 开始分解索引的方法?
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

这是factorize

df['Pairing'] = pd.factorize(df['Name'])[0]


查看完整回答
反对 回复 2023-09-02
  • 1 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信