PythonPandas速度

2024-06-14 21:37:52 发布

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

我有一个数据帧,第一列是客户进入剧院时,第二列是名称。在

time name
1     A
2     A
3     A
4     B
5     B
6     C
7     B
8     C

我想得到一个客户输入的平均时间(忽略客户必须离开才能再次进入的事实)。在

我试着按数据帧分组

^{pr2}$

在哪里

def my_function():
    for j in range(1,len(time)):
        total = total + time[j] - time[i] 
        i = i  + 1 
    return total / (len(time)-1)

Tags: 数据name名称for客户lentimemy
1条回答
网友
1楼 · 发布于 2024-06-14 21:37:52

我想你是想计算平均时间差:

In [11]: g = df.groupby('name')

In [12]: g['time'].apply(lambda x: x.diff().mean())
Out[12]:
name
A    1.0
B    1.5
C    2.0
Name: time, dtype: float64

编辑:我不确定你是想要这个还是简单的意思:

^{pr2}$

相关问题 更多 >