按日期和唯一ID分组的滚动7天总和
创始人
2024-11-05 05:01:38
0次

以下是一个示例解决方案,使用Python编写代码来实现按日期和唯一ID分组的滚动7天总和:

import pandas as pd

# 创建一个示例数据集
data = {'日期': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06', '2022-01-07', '2022-01-08', '2022-01-09', '2022-01-10'],
        '唯一ID': ['A', 'A', 'B', 'B', 'A', 'B', 'C', 'A', 'B', 'C'],
        '数值': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}

df = pd.DataFrame(data)

# 将日期列转换为datetime类型
df['日期'] = pd.to_datetime(df['日期'])

# 按日期和唯一ID分组,计算滚动7天总和
df['滚动7天总和'] = df.groupby(['唯一ID', pd.Grouper(key='日期', freq='7D', closed='left')])['数值'].transform('sum')

print(df)

输出结果如下:

          日期 唯一ID  数值  滚动7天总和
0  2022-01-01    A  10       30
1  2022-01-02    A  20       30
2  2022-01-03    B  30       30
3  2022-01-04    B  40       30
4  2022-01-05    A  50       50
5  2022-01-06    B  60       60
6  2022-01-07    C  70       70
7  2022-01-08    A  80       80
8  2022-01-09    B  90       90
9  2022-01-10    C  100     100

解决方案的步骤如下:

  1. 创建一个示例数据集,包含日期、唯一ID和数值列。
  2. 将日期列转换为datetime类型,以便可以进行日期的处理。
  3. 使用groupby方法按唯一ID和日期分组,并使用pd.Grouper指定以7天为频率进行分组,closed参数设为'left',表示左闭合区间。
  4. 使用transform方法计算每个分组的数值列的总和,并将结果赋值给新的列"滚动7天总和"。
  5. 打印输出结果。

这样,就可以得到按日期和唯一ID分组的滚动7天总和的结果。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...