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

  统计/机器学习 数据预处理 时间序列 Python    浏览次数:2997        分享
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


  相关讨论

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

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

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

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

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

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

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

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

datetime模块里的datetime.combine什么用?

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

  随便看看

分类变量,进行One hot编码,维度升高,如何处理?

两个独立的正态随机变量的乘积服从什么分布?

行数很多的pandas DataFrame如何在jupyter中完整显示?

怎么添加pandas的dataframe到已有的csv文件,并且不覆盖原内容

dropout rate一般设置多大?