[英]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.