8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

Pandas-将一列中的秒数添加到另一列中的日期时间

user26504905 2月前

76 0

我有一个包含两列的 dataFrame,[\'StartDate\' ,\'duration\'],StartDate 列中的元素是 datetime 类型,duration 是 int。例如:StartDate Duration08:16:05 ...

我有一个包含两列的 dataFrame, ["StartDate" ,"duration"] 中的元素 StartDate datetime 类型,而元素 duration 是整数。

就像是:

StartDate  Duration
08:16:05    20  
07:16:01    20

我期望得到:

EndDate 
08:16:25
07:16:21

只需将秒数添加到小时数即可。

我正在检查一些关于它的想法,比如增量 时间类型 ,并且所有这些日期时间都有可能添加增量时间,但到目前为止,我只能找到如何使用 DataFrames 来做到这一点(以矢量方式,因为可能可以遍历执行操作的所有行)。

帖子版权声明 1、本帖标题:Pandas-将一列中的秒数添加到另一列中的日期时间
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由user26504905在本站《datetime》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 对于任何感兴趣的人,我都提出了一个可靠的方法来处理这个问题

    /**
     * @var \DateInterval
     */
    private $remainder;
    
    /**
     * @param \DateTimeImmutable $date
     * @param string $modifier
     * @return \DateTimeImmutable
     */
    private function nextInterval(\DateTimeImmutable $date, $modifier)
    {
        $dayNumber = (int)$date->format('j');
        $next = $date->modify($modifier);
        if (!is_null($this->remainder)) {
            $next = $next->add($this->remainder);
            $dayNumber += $this->remainder->days;
            $this->remainder = null;
        }
    
        // This should in general only apply to months which do not have the same daynumber in that month after adding
        if ($dayNumber !== (int)$next->format('j')) {
            $n = $next->modify('last day of last month');
            $this->remainder = $n->diff($next);
            $next = $n;
        }
    
        return $next;
    }
    

    结果:

    2014-11-30
    2014-12-30
    2015-01-30
    2015-02-28
    2015-03-30
    2015-04-30
    2015-05-30
    

    2015-12-30
    2016-01-30
    2016-02-29
    2016-03-30
    2016-04-30
    
返回
作者最近主题: