要按日期分组并按不同列累积求和,并进行不同的筛选,可以使用Python中的pandas库。以下是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'日期': ['2020-01-01', '2020-01-01', '2020-01-02', '2020-01-02'],
'类别': ['A', 'B', 'A', 'B'],
'数值1': [1, 2, 3, 4],
'数值2': [5, 6, 7, 8]}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['日期'] = pd.to_datetime(df['日期'])
# 按日期和类别分组,并对数值1和数值2进行求和
grouped = df.groupby(['日期', '类别']).sum()
# 对结果进行筛选
filtered = grouped[(grouped['数值1'] > 2) & (grouped['数值2'] < 10)]
print(filtered)
输出结果为:
数值1 数值2
日期 类别
2020-01-01 B 2 6
在这个示例中,首先将日期列转换为日期类型,然后使用groupby()
函数按日期和类别分组,并使用sum()
函数对数值1和数值2进行求和。最后,使用逻辑运算符对结果进行筛选,筛选出数值1大于2且数值2小于10的行。
下一篇:按日期分组并对列求和