如何创建一个列来跟踪另一列中的值出现的次数,直到 Pandas 中的该行

HK1510

例如,假设这是我拥有的数据框:

row    object_id
1      1024
2      1024
3      1024
4      1032
5      1032
6      1048
...    ...

我想创建一个列occurence_num,如下所示:

row    object_id     occurence_num
1      1024          1         # starts count
2      1024          2 
3      1024          3
4      1032          1         # restarts count since object_id has changed
5      1032          2 
6      1048          1         # restarts count since object_id has changed
...    ...           ...

在 SQL 中执行此操作的方法也会有所帮助,但我希望能够使用 Pandas 执行此操作。

注意:我在这里找到了一种在 excel 中执行此操作的方法

约阿齐马斯

您可以使用 cum.count():

df['occurence_num']=df.groupby('object_id').cumcount()+1

>>>print(df)

   row  object_id  occurence_num
    1       1024              1
    2       1024              2
    3       1024              3
    4       1032              1
    5       1032              2
    6       1048              1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据另一列 pandas 中特定值的累积出现次数创建一个新列

Python Pandas:如何计算基于另一个列的值出现在列中的次数?

Pandas - 通过在另一列中查找一列的值来创建一列

从第三列为1的另一列中的最后一个值创建pandas df列

根据 Pandas 中另一列中相似值的分组创建一个新列

如何在Pandas数据框列中查找第一个连续值并删除该行?

根据pandas中另一列的状态创建一个新列

创建一个新的Excel列,并使用PANDAS在列的每一行中重复出现一个值的次数

pandas:根据另一个cloumn中字符串的len创建一列逗号分隔值

SQL - 计算一个列值在另一列值中的出现次数

如何计算在Pandas数据框中同时包含一组列中的值和另一列中的另一个值的行数?

在 Pandas 中创建一列,计算另一列中唯一值的数量

如何计算特定列中的项目/值在 Pandas 数据帧的另一列/其他列中重复的次数?

如何更新pandas数据框列中的值,直到在同一列中首次出现值?

如何在Pandas中创建新列,条件是要重复另一列的值?

如何基于另一个列中的值在pandas数据框列中创建新值

使用Pandas获取该行中第一个非零值的列名

如何创建一个列来标识行数,直到下一次在另一个列中出现pandas值为止?

Pandas:重新排序基于另一列创建的组中一列中的值

Pandas 将一个值重命名为列中的另一个值,并在另一列中添加相应的值

如果列表中的字符串与另一列中的匹配,则创建一个 Pandas 列

根据同一行中另一列的值拆分一个Pandas列?

检查一列的值是否在pandas数据框中的另一个列数组中

Python Pandas 透视:如何在第一列中分组并为第二列中的每个唯一值创建一个新列

通过匹配另一个DataFrame中的值来最佳填充Pandas DataFrame列

Pandas - 创建新列 - 如果另一个列值在列表中(正确方式)

如何基于另一个 DataFrame 中的列在 Pandas DataFrame 中创建新列?

根据pandas中另一列中的日期添加一个期间列

通过匹配Pandas DataFrame中另一列中的值来区分行值