gpt4 book ai didi

python - R 中的预测时间分析(数据挖掘算法)

转载 作者:行者123 更新时间:2023-11-30 08:50:12 25 4
gpt4 key购买 nike

我有一个文件(数十列和数百万行),基本上如下所示:

customerID VARCHAR(11)
accountID VARCHAR(11)
snapshotDate Date
isOpen Boolean
...

文件中的一条记录可能如下所示:

1,100,200901,1,...
1,100,200902,1,...
1,100,200903,1,...
1,100,200904,1,...
1,100,200905,1,...
1,100,200906,1,...
...
1,100,201504,1,...
1,100,201505,1,...
1,100,201506,1,...

当帐户被关闭时,可能会发生两种情况。通常,数据中不会存在该记录的更多快照。有时,会继续添加更多记录,但 isOpen 标志将设置为 0。

我想添加一个额外的 bool 列,名为“closeInYr”,其值为 0,除非帐户在快照日期后一年内关闭。

我的解决方案既缓慢又糟糕。它获取每条记录,向前计数 12 个月,如果找到具有相同 customerID、accountID 且 isOpen 设置为 1 的记录,则会在“closeInYr”字段中填充 0,否则填充该字段1.它可以工作,但性能 Not Acceptable ,并且我们有许多此类文件需要处理。

关于如何实现这一点有什么想法吗?我使用 R,但愿意使用 Perl、Python 或几乎任何除 COBOL 或 VB 之外的语言进行编码。

谢谢

最佳答案

我建议使用Linux“date”命令将日期转换为unix时间戳。Unix时间戳是自1970年1月1日以来经过的秒数。所以基本上一年是60s*60m*24h*256d秒。因此,如果时间戳之间的差异大于此数字,则时间长度将超过一年。

它会是这样的:

>date --date='201106' "+%s"
1604642400

因此,如果您使用 perl(一种非常酷的文件处理语言),您将在几行中解析整个文件并使用 eval"you date command"

关于python - R 中的预测时间分析(数据挖掘算法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30939754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com