这是我的数据
session_id, event_name
1 , 'click'
2 , 'view'
1 , 'click'
1 , 'view'
2 , 'click'
我要找的是:
将每个session_id中的所有事件分析为数组。
这是最有效的方法吗?
df[df['session_id'] == session_id]
有更有效的方法吗?
答案 0 :(得分:1)
我认为您可以groupby
youranalysisfunc
使用apply
:
print df
session_id event_name
0 1 'click'
1 2 'view'
2 1 'click'
3 1 'view'
4 2 'click'
def youranalysisfunc(x):
#print x
#add your code
x = 'aa' + x
#add your code
return x
print df.groupby('session_id')['event_name'].apply(youranalysisfunc)
0 aa'click'
1 aa'view'
2 aa'click'
3 aa'view'
4 aa'click'
dtype: object