python 如何根据日期进行分组处理

  统计/机器学习 数据预处理 时间序列 Python    浏览次数:127        分享
0

有一个数据框 ,

每个pid对应的日期的start end 不同

如何新产生一列分组var,

使得 var从pid  start到end  每7天是一组

比如  图中pid   2011-07-01 到 2011-07-07 var=1

 2011-07-08 到 2011-07-14 var=2

2011-07-15 到 2011-07-21 var=3

依次类推


产生这个var之后 我可以根据groupby 进行分组处理


 

constant007   2020-03-21 16:08



   1个回答 
0

你用date里的日期减去2011-07-01得到的天数,然后整除7就可以了

假如你的数据框叫做df,可以用下面的代码得到你要的var

df['var'] = (pd.to_datetime(df['date']) - pd.to_datetime('2011-07-01')).dt.days // 7


SofaSofa数据科学社区DS面试题库 DS面经

u_u   2020-03-21 22:26

谢谢 后来我想到的也是这个方法 - constant007   2020-03-22 13:25


  相关主题

时间序列样本中有负数时怎么求几何平均值?   1回答

像年、月、日、小时这种时间变量一般怎么处理?   1回答

python中怎么判断某一年是闰年?   2回答

python如何对日期做遍历?有没有类似range的函数?   2回答

python中如何修改时间戳变量里的小时?   1回答

求助,按照百度的方法从日期提取年龄出现错误了   1回答

python两个日期,求间隔的天数   2回答

datetime模块里的datetime.combine什么用?   1回答

怎么在python中获取昨天的日期的字符串?   1回答

怎么把datetime类型转为字符串类型,但只保留日期   1回答

fbprophet.Prophet里的growth='linear'和growth='logistic'有什么区别?   1回答

怎么判断一个时间序列是平稳的?   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!