python - 按顺序计算重复条目

标签 python pandas dataframe

我目前正在开展一个项目,我必须根据某人是否编辑网站来衡量某人在网站上随时间的事件。我有一个与此类似的数据框:

df = pd.DataFrame({"x":["a", "b", "c", "b","b"],
               "y":["red", "blue", "green", "yellow","red"],
               "z":[1,2,3,4,5]})

我想向数据框中添加一列,以便计算重复值的数量(编辑数量,即 x 列),使用“z”列作为事件发生时间的度量。

例如增加一列:

df["activity"] = pd.Series([1,1,1,2,3])

我最好如何用 Python 来解决这个问题?不确定我最好的方法是什么。

最佳答案

groupbycumcount

df['activity'] = df.groupby('x').cumcount() + 1
df

   x       y  z  activity
0  a     red  1         1
1  b    blue  2         1
2  c   green  3         1
3  b  yellow  4         2
4  b     red  5         3

关于python - 按顺序计算重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47890665/

相关文章:

r - 如何从 R data.frame 获取行

python - 将 16 位 numpy 数组保存为 16 位 PNG 图像

python - pandas 数据框中的混合长度对象类型

python - 动态长度Django模型字段

python - Pandas 等价于 R 的 which()

python - 删除一个特定列上的重复项并添加一个新列作为重复记录的计数 pandas

python - 如何从python中的另一个数据框为新数据框赋值

python - 使用 Python(正则表达式)将数据仅放在数据框中的方括号中

python - 使用 alembic autogenerate 时忽略模型

python - 向量化连续 numpy 计算