下面是一个示例解决方案,以保留特定组的每个月和年的最后一行:
import pandas as pd
# 创建一个示例数据框
data = {'Date': pd.date_range(start='1/1/2022', end='12/31/2022', freq='D'),
'Group': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'Value': [1, 2, 3, 4, 5, 6, 7, 8, 9]}
df = pd.DataFrame(data)
# 将日期列设置为索引
df.set_index('Date', inplace=True)
# 按组和年份对数据进行分组
grouped = df.groupby(['Group', df.index.year])
# 保留每个组的每个月和年的最后一行
result = grouped.tail(1)
print(result)
这将输出一个新的数据框result
,其中包含保留特定组的每个月和年的最后一行的数据。