繁体   English   中英

熊猫数据框中的时间增量

[英]time delta in pandas dataframe

有一个关于如何在熊猫中创建日期计数类型的问题。 给定日期列表,我希望能够以天为单位计算从一个日期到上一个日期的差额。 现在,我可以通过简单的减法来做到这一点,它将为我返回一个timedelta对象。 如果我只想整数天怎么办。 使用.days似乎可以处理两个日期,但是我无法将其用于一列。

假设我愿意,

df['day_count'] = (df['INDEX_DATE'] - df['INDEX_DATE'].shift(1))

INDEX_DATE day_count 0 2009-10-06 NaT 1 2009-10-07 1 days 2 2009-10-08 1 days 3 2009-10-09 1 days 4 2009-10-12 3 days 5 2009-10-13 1 days

我得到“ 1天” ....我只想要1。

我可以这样使用.day,它确实会返回一个数字,但无法处理整个列。

(df['INDEX_DATE'][1] - df['INDEX_DATE'][0]).days

如果我尝试这样的事情:

df['day_count'] = (df['INDEX_DATE'] - df['INDEX_DATE'].shift(1)).days

我得到一个错误
AttributeError:“系列”对象没有属性“天”

我可以在“ 1天”左右工作,但我认为必须有更好的方法来做到这一点。

尝试这个:

In [197]: df['day_count'] = df.INDEX_DATE.diff().dt.days

In [198]: df
Out[198]:
  INDEX_DATE  day_count
0 2009-10-06        NaN
1 2009-10-07        1.0
2 2009-10-08        1.0
3 2009-10-09        1.0
4 2009-10-12        3.0
5 2009-10-13        1.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM