基于日志数据列高效地重复数据帧行

2024-10-01 19:29:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一个分类问题的日志数据。每行由给定会话的操作组成,每个会话分为子会话。我的目标是在给定会话的给定子会话中重复上一个子会话的操作(检索最后N个)。我很难为我的4M+行数据集提供高效的解决方案

简化示例

注意-省略了其他功能,action对应于子会话操作索引,orig_action只是示例的帮助器,其中A2.1对应于原始子会话A2中的操作1,A3.1对应于原始子会话A3中的操作1,依此类推

# - Original dataframe

  session  subsession  action
0       A           1       1
1       A           2       1
2       A           2       2
3       A           3       1
4       B           1       1

# - Expanded dataframe
# Session A:
# Subsession 2 now encompasses last N actions from subsessions 1 and 2
# Subsession 3 now encompasses last N actions from subsessions 1, 2 and 3
# Check above note for orig_action explanation.

  session  subsession  action  orig_action
0       A           1       1         A1.1
1       A           2       1         A1.1
2       A           2       2         A2.1
3       A           2       3         A2.2
4       A           3       1         A1.1
5       A           3       2         A2.1
6       A           3       3         A2.2
7       A           3       4         A3.1
8       B           1       1         B1.1

子会话的数量可以达到500个

有没有人知道我如何在不花几天时间进行迭代循环的情况下做到这一点


Tags: and数据fromactions示例dataframesessionaction

热门问题