【发布时间】:2022-12-20 06:51:04
【问题描述】:
我创建了这个数据框 -
Range = np.arange(0,9,1)
A={
0:2,
1:2,
2:2,
3:2,
4:3,
5:3,
6:3,
7:2,
8:2
}
Table = pd.DataFrame({"Row": Range})
Table["Intervals"]=(Table["Row"]%9).map(A)
Table
Row Intervals
0 0 2
1 1 2
2 2 2
3 3 2
4 4 3
5 5 3
6 6 3
7 7 2
8 8 2
我想创建另一个基于间隔列的列,并将作为一种计数器 - 因此值将为 1,2,1,2,1,2,3,1,2。 逻辑是我想按间隔列的值进行计数。 我试过使用 group by 但问题是值显示了多次。
逻辑: 我们有 2 个不同的值 - 2 和 3。每个值将作为值本身出现在间隔列中 - 例如 2 将出现两次 2,2。 3 将出现 3 次 - 3,3,3。 对于前 4 行,值 2 显示两次 - 这就是为什么新列应为 1,2(第一个 2 的计数器)然后再次为 1,2(第二个 2 的计数器)。 之后是 3,所以值为 1,2,3。 然后再次为 2,因此值为 1,2。
希望我设法解释自己。
提前致谢!
【问题讨论】:
-
你能更详细地解释为什么输出应该是
1,2,1,2,1,2,3,1,2吗?我不明白逻辑 -
目前尚不清楚您希望该列如何。
-
抱歉,我编辑问题。如果不清楚,请再次查看并 LMK。