用户操作之间的平均时间(SQL 和 pandas)

Average time between actions by user (SQL and pandas)

假设我有一个像这样的 table user_id 并且已经计算出操作之间的时间差。

   **|user_id |sec_between_actions|**
   |     329|                  1|
   |     329|                211|
   |     329|                911|
   |     329|                 11|
   |     329|                  9|
   |      12|                  2|
   |      12|                  3|
   |      12|                  8|
   |      12|                  7|
   |      12|                  7|
   |       1|                  1|
   |       1|                  1|
   |     111|                  3|
   |     111|                 11|
   |      18|                  4|
   |      29|                  5|
   |      29|                  1|

(假设有很多记录和很多用户)

我想要的输出是这样的(使用 SQL):

   **|user_id |avg_time_between_actions|**
   |     329|                   228,6|
   |      12|                     5,4|
   |       1|                       1|
   |     111|                       7|
   |      18|                       4|
   |      29|                       3|

要在 SQL 中执行此操作,您必须使用 group by 函数对相同的用户 ID 进行分组,然后使用聚合函数计算分组数字的平均值。

SQL代码:

SELECT user_id, AVG(sec_between_actions) as avg_time_between_actions,
FROM table_name
GROUP BY user_id;

我不确定您为什么使用 , 而不是 .,但是您也可以通过更改输出来做到这一点,但这似乎不合逻辑。