Python熊猫按顺序计算多索引中唯一对的出现次数

edutt:

我完成了一个数据框日志记录练习,其中包含两列多索引:Day和Person。每天,每个人都记录自己进行了哪些锻炼(如果锻炼过)。我想添加另一列,该列按顺序计算进入此日志的条目,如下所示。因此,对于每一对独特的一天和每个人,加1。

Day   Person   Exercise    EntryNumber
1     Joe      Curls                 1
1     Joe      Squats                1
1     Sandy    Sprints               2
1     Sandy    Bench                 2
2     Joe      Curls                 3
2     Sandy    Squats                4
3     Bob      Pushups               5

这是在上面的数据帧中生成代码的代码。

import pandas as pd
df = pd.DataFrame({'Day':[1,1,1,1,2,2,3], 
                   'Person':['Joe','Joe','Sandy','Sandy','Joe','Sandy','Bob'], 
                   'Exercise':['Curls','Squats','Sprints','Bench','Curls','Squats','Pushups']})
df = df.set_index(['Day','Person'])

我将如何创建EntryNumber列?我已经尝试了所有方式的groupby和cumcount,但尚未弄清楚。

谢谢!

ky

另一种方法是factorize通过索引而不必分组:

df['EntryNumber'] = df.index.factorize()[0]+1
#df = df.reset_index() -> if you want to reset theindex

print(df)
           Exercise  EntryNumber
Day Person                      
1   Joe       Curls            1
    Joe      Squats            1
    Sandy   Sprints            2
    Sandy     Bench            2
2   Joe       Curls            3
    Sandy    Squats            4
3   Bob     Pushups            5

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

计算多列中每个唯一行的字符串出现次数

如何计算保存在多列表中的数据的唯一出现次数?

创建一对唯一值,并在其他列中以相同的值计算它们的出现次数

计算唯一组组合中的出现次数

在 Python 3 中计算字符串中唯一字母的出现次数

切片和分配值的唯一顺序索引的多索引熊猫数据框

根据另一列中的唯一值计算项目出现在熊猫数据框中的一列中的次数

如何计算熊猫中每个唯一值的出现

计算多个熊猫列中的出现次数

XQuery:如何计算一个值按顺序出现的次数

如何根据熊猫中另一列数据框中的唯一值计算出现次数?请考虑以下示例

按两列聚合并计算熊猫第三列中不同值的出现次数

PostgreSQL:按其他字段选择唯一对顺序

使用多索引计算数据帧中数字的连续出现次数

使用多索引每日数据计算数据框中数字的连续出现次数

展平多索引熊猫数据框中的一对一映射

计算字符串的第一个字母并显示出现的次数,但不按字母顺序在R中显示

在python中,您将如何计算唯一术语出现在列表中的次数,但是如果该术语紧随其后,则只计算1

按字母顺序从字符串中查找并计算后一对

有效地计算NumPy中唯一子数组的出现次数?

计算每个唯一元素出现在“选择”查询中的次数

计算数据框中的唯一出现次数

计算 R 数据框中的累积唯一出现次数

Ruby:计算数组中的唯一元素及其出现次数

在R?中的整数字段上计算唯一出现的次数

如何计算 Big Query 中列的唯一出现次数

计算每列中的唯一出现次数

在熊猫多索引中按级别迭代

如何计算一组单词以任何顺序出现在列中的次数?