我想用现有的信息创建一个新的数据框,处理该数据以进行计数并简化/汇总。我知道我想在逻辑上做些什么,但无法弄清楚如何将其放入代码中。
这是我最初的df:
time end stage
0 1 A4
0 1 A4
0 2 A1
0 2 A3
0 3 A3
0 4 B3
0 5 B3
0 7 B1
0 11 B1
0 12 B2
0 29 B2
1 9 A5
1 13 A5
2 6 A2
2 14 A5
3 15 A5
4 21 B1
5 22 B1
6 8 A3
第一列是开始时间,第二列是结束时间,第三列是阶段标签-我要计数。我想要这样的结果,显示每个时间点每个阶段标签的数量:
time A1 A2 A3 A4 A5 B1 B2 B3
0 1 0 2 2 0 2 2 2
1 1 0 2 0 2 2 2 2
2 1 1 0 3 2 2 2 0
3 1 0 0 4 2 2 2 0
4 1 0 0 4 3 2 1 0
5 1 0 0 4 4 2 0 0
6 1 0 4 4 2 0 0 0
但是,由于每个时间段的持续时间各不相同,并且每个开始时间都有多个条目,因此我想每次创建一个新的df,并且每行仅包含一行,并在其他列中填充“如果开始时间小于等于x且结束时间大于x则计算每个标签的数量。”时间的特定值根据所分析的不同数据而变化,因此需要将其通用化以允许特定的x值发生变化(并相应地自动创建新的df)。
谢谢!
编辑:虽然这类似于将df从长格式转换为宽格式,但是时间和持续时间增加了这些答案中的方法无法解决的复杂程度。