Python数据框根据其他id列创建索引列

2024-01-05

我有一个像这样的数据框:

ID                  Price
000afb96ded6677c    1514.5
000afb96ded6677c    13.0
000afb96ded6677c    611.0
000afb96ded6677c    723.0
000afb96ded6677c    2065.0
ffea14e87a4e1269    2286.0
ffea14e87a4e1269    1150.0
ffea14e87a4e1269    80.0
fff455057ad492da    650.0
fff5fc66c1fd66c2    450.0

我需要一个从 1 迭代到任意多行的 ID 列,但我需要它像下面的代码一样:

ID                  Price    ID 2
000afb96ded6677c    1514.5   1
000afb96ded6677c    13.0     1
000afb96ded6677c    611.0    1
000afb96ded6677c    723.0    1
000afb96ded6677c    2065.0   1
ffea14e87a4e1269    2286.0   2
ffea14e87a4e1269    1150.0   2
ffea14e87a4e1269    80.0     2
fff455057ad492da    650.0    3
fff5fc66c1fd66c2    450.0    4

Try groupby ngroup https://pandas.pydata.org/docs/reference/api/pandas.core.groupby.GroupBy.ngroup.html#pandas-core-groupby-groupby-ngroup + 1 :

df['ID_2'] = df.groupby('ID').ngroup() + 1

Or with Rank https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.rank.html#pandas-series-rank:

df['ID_2'] = df['ID'].rank(method='dense').astype(int)

Or with pd.factorize https://pandas.pydata.org/pandas-docs/dev/reference/api/pandas.factorize.html:

df['ID_2'] = pd.factorize(df['ID'])[0] + 1

df:

                 ID   Price  ID_2
0  000afb96ded6677c  1514.5     1
1  000afb96ded6677c    13.0     1
2  000afb96ded6677c   611.0     1
3  000afb96ded6677c   723.0     1
4  000afb96ded6677c  2065.0     1
5  ffea14e87a4e1269  2286.0     2
6  ffea14e87a4e1269  1150.0     2
7  ffea14e87a4e1269    80.0     2
8  fff455057ad492da   650.0     3
9  fff5fc66c1fd66c2   450.0     4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python数据框根据其他id列创建索引列 的相关文章

随机推荐

  • 地图的联合迭代器?

    Preface 关联 C 容器 例如std map有点像只有一个键列的微型数据库 升压的bimap将其提升为一个两列表 在两列中都进行查找 但这就是类比 没有 polymap 来概括这个想法 无论如何 我想继续将地图视为数据库 现在我想知道
  • 普通 es6 类和扩展 React.Component 有什么区别

    我在用着反应全栈 https github com kriasoft react starter kit作为开始我的项目的脚手架 我发现它的示例代码与官方的 React 文档有很大不同 示例代码是这样的 withStyles styles
  • 当我有 UTC 偏移时如何创建 tzinfo?

    我有一个时区与 UTC 的偏移量 以秒为单位 19800 并且也有字符串格式 0530 我如何使用它们来创建一个tzinfo实例 我调查了pytz 但在那里我只能找到以时区名称作为输入的 API 对于 Python 3 2 或更高版本 您可
  • 如何使用 powershell 脚本替换文本文件中的值

    我的文件包含以下数据 无标题 DEPOSIT ADD 123456789 VALUE VARIABLE NNNN VALUEVARIABLE DEPOSIT ADD 234567890 VALUE P75 NNNN VALUEVARIABL
  • 关闭汞分支机构

    使用时hg branch FeatureBranchName并将其发布到开发人员之间共享的中央存储库 有没有办法最终关闭FeatureBranchName它的开发何时正式与默认分支合并 如果FeatureBranchName执行时不可见hg
  • 使用名称jquery通过索引获取id值

    html
  • TFS 回滚与“获取此版本”

    回滚和 获取此版本 有什么区别 它们都让我返回到特定版本 并从那里进行更改和签入 两者兼备有什么额外好处 Get specific version Get this version 仅影响您的本地工作区 它将所有本地更改恢复为旧版本 当您尝
  • 在我的 rspec 中找不到访问方法

    我的 java web 应用程序运行在 tomcat 上http localhost 8080 com http localhost 8080 编写我的第一个规范 home spec require spec helper describe
  • Paypal使用POST方式返回

    我正在尝试使用沙盒帐户测试 Paypal 第三方购物车按钮 该按钮如下所示
  • tr1::mem_fn 和具有默认参数的成员

    我的类有一个带有默认参数的成员函数 struct Class void member int n 0 通过 std tr1 mem fn 我可以调用它 Class object std tr1 mem fn Class member obj
  • 如何在具有 URL 外观的 TextView 中呈现文本

    请问如何渲染文本TextView具有类似于 URL 的外观 带下划线的蓝色文本 它可以与常规文本混合 显示为纯文本 吗 当我点击它时 它就会启动WebView加载该网址 Check autoLink http developer andro
  • dyld:未加载库:@rpath/libswiftCore.dylib。问题仍然存在

    我知道这个问题已经被回答过好几次了 但是当我为 IOS 8 1 编写 Swift 应用程序时 我一直无法找到此错误的正确解决方案 dyld 未加载库 rpath libswiftCore dylib 引用自 private var mobi
  • 在SAS中运行程序的热键?

    我知道在 R 中我可以使用 control r 来运行我的程序代码 我想知道 SAS 中是否有等效的热键 如果没有 有没有办法将其 编程 到 SAS 中 运行 提交程序 的默认热键是 F8 键 如果您使用的是 Base SAS 不是 EG
  • Maven exec:java run可执行插件依赖jar导致NPE

    我正在制作一个使用 sparql 端点服务的 Maven 应用程序 我想要一个 Maven 目标来下载 sparql 端点并启动服务 但似乎 Maven 在配置类路径方面存在一些问题 我正在使用 blazegraph 及其工件https m
  • java.lang.ArrayIndexOutOfBoundsException:RSA 块的数据过多

    我正在使用 RSA 加密文本和解密文本 公钥和私钥是使用openssl工具生成的 解密数据时遇到 java lang ArrayIndexOutOfBoundsException too much data for RSA block 异常
  • IIS 将 MVC 中的静态文件理解为动态内容

    通过使用 httpCompression 我意识到 IIS 将 MVC 中的静态文件理解为动态内容 因此即使您勾选了 启用静态内容压缩 但不要勾选 启用动态内容压缩 IIS 将返回 css and js未压缩的文件 GET MVCX Con
  • 以非 root 用户身份以编程方式删除 Linux 缓存

    出于测试目的 我可以通过写入 Linux 中 procfs 下的 drop caches 文件来删除缓存内存 我只能以 root 身份执行此操作 这是在嵌入式 Linux 上 所以没有 sudo sync echo 3 gt proc sy
  • Razor 视图引擎 - 如何添加部分视图

    我想知道如果可能的话 使用新的剃刀视图引擎渲染局部的最佳方法是什么 我知道这件事当时还没有完全完成 现在我正在使用 RenderPage 来呈现用户控件 RenderPage Views Shared LocaleUserControl c
  • 什么是? ... : ... 做? [复制]

    这个问题在这里已经有答案了 items isset POST items POST items array 我不明白这段代码的最后一个片段 POST items array 该代码组合到底有什么作用 我用它从 html 文本框中获取一堆值并
  • Python数据框根据其他id列创建索引列

    我有一个像这样的数据框 ID Price 000afb96ded6677c 1514 5 000afb96ded6677c 13 0 000afb96ded6677c 611 0 000afb96ded6677c 723 0 000afb9