【问题标题】:How do I count the time between purchases for different users, using pandas?如何使用熊猫计算不同用户购买之间的时间?
【发布时间】:2018-01-19 07:17:12
【问题描述】:

我有一组如下所示的购买数据:

用户日期
用户日期_1
user_b 日期_2
用户日期_3
用户日期_4
user_c 日期_5
user_b 日期_6
user_c 日期_7
等等

我想找出每个用户的平均购买时间。

有什么帮助吗?

我正在使用 jupyter 笔记本。

【问题讨论】:

  • (max(date) - min(date)) / #purchases,针对每个用户
  • 欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 on topichow to ask 在这里申请。 StackOverflow 不是设计、编码、研究或教程服务。
  • 你试过任何代码吗?
  • 我尝试了一个数据透视表:pd.pivot_table(df, index=['user'], values='successful_transaction', columns=['date']).reset_index() 但这只给出了我以一种直观的方式查看每个用户何时进行购买。注意:successful_transaction 是具有二进制值的列。

标签: python pandas ipython jupyter-notebook


【解决方案1】:

假设您的数据是一个数据框,其中“用户”为一列,“日期”为另一列。

df.groupby('User').mean()

如果由于日期格式(字符串)而这不起作用,您可能需要使用

更改日期格式

pd.to_datetime

或将日期转换为天数

【讨论】:

  • 试过这个。日期格式现在是:“非空 datetime64[ns]”。但我仍然得到:DataError: No numeric types to aggregate
  • 你的日期格式是什么?是 dd:mm:yyyy:hh:mm:ss 还是 mm:dd:yyy ?最好转换成有参考年份的天数
猜你喜欢
  • 2017-12-31
  • 2019-01-16
  • 2019-12-25
  • 1970-01-01
  • 2021-09-18
  • 2019-09-14
  • 2018-12-25
  • 2021-02-06
相关资源
最近更新 更多