【发布时间】:2020-09-24 02:14:00
【问题描述】:
我的数据中有三列:
mall_id product_id sold_date
13 10001 04-01-2020
13 10002 05-06-2020
14 10001 03-01-2020
13 10001 05-02-2020
我想为每个 mall_id、product_id 唯一组合从 sold_date 创建一个向量。 向量应该是这样的向量的长度应该是 max(sold_date) - min(sold_date) 并且它应该是 1s 和 0s 的形式(例如 [0,1,0,0,0,1,1,1] ) 以便每个数字代表当天是否为 mall_id product_id 组合进行了购买。 (即 0 表示当天没有购买,1 表示已购买)。
创建向量后,我想用以下 numpy 函数将其转换为 pandas 中的新列:
times_1 = np.diff(np.where(vector))
np.std(times_1)/np.mean(times_1)
我能够将 numpy 函数应用于单个向量,但无法在我的数据框中创建向量,然后将它们应用于列中的每个值。我尝试了几种方法来做到这一点,但由于我是 pandas 的新手,所以我无法弄清楚。
有人可以提供一些方向吗?我将不胜感激。
【问题讨论】:
标签: python python-3.x pandas numpy