【发布时间】:2020-10-13 18:38:48
【问题描述】:
我在 Python 中有以下问题。我得到了一些关于漏斗运动的长数据格式的日志数据。我有一个专栏说观察在什么时候变成了相应的漏斗。
示例数据:
idx name changed_at changer value
0 Comp A 25.05.2020 A new
1 Comp B 25.05.2020 A new
2 Comp C 25.05.2020 A new
3 Comp A 28.05.2020 B shortlist
4 Comp D 28.05.2020 B new
5 Comp E 29.05.2020 B new
6 Comp B 29.05.2020 B long
7 Comp C 01.06.2020 A shortlist
8 Comp A 03.06.2020 A final
我想添加另一列计算与下次再次提及该公司时的时差,以便添加的列如下所示:
idx name changed_at changer value days_in_stage
0 Comp A 25.05.2020 A new 3
1 Comp B 25.05.2020 A new 4
2 Comp C 25.05.2020 A new 7
3 Comp A 28.05.2020 B shortlist 6
4 Comp D 28.05.2020 B new na
5 Comp E 29.05.2020 B new na
6 Comp B 29.05.2020 B long na
7 Comp C 01.06.2020 A shortlist na
8 Comp A 03.06.2020 A final na
例如,公司 A 在 idx 0、3 和 8 中被提及。但是,我在计算与 Python 中下一次观察的差异时遇到了问题,即在更大的 18k 观察范围内。
感谢您的帮助!
【问题讨论】:
-
您需要添加代码才能获得完整的答案。假设您有一个从 csv 模块读取的表(列表列表),您可以使用 dict 来构建公司索引。键是公司名称,值是该公司的行列表。现在它只是处理所有这些值列表的问题......在每个列表上附加差异,因为它与原始表相同,所以你完成了。
-
您也可以使用
pandas和groupby处理此问题。要想弄清楚这可能有点繁重。在处理 18k 数据时,pandas 可能会更快一些,但无论哪种方式,它对于现代计算机来说都是一个很小的数据集。
标签: python datetime time-series