以下是一个示例代码,用于按月份找到每组中最早的记录:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'A', 'B', 'B', 'B'],
'Date': ['2022-01-01', '2022-01-15', '2022-02-10', '2022-01-05', '2022-02-01', '2022-02-20']}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['Date'] = pd.to_datetime(df['Date'])
# 按Group和月份分组,并找到每组中最早的记录
earliest_records = df.groupby([df['Group'], df['Date'].dt.month])['Date'].min()
print(earliest_records)
输出结果为:
Group Date
A 1 2022-01-01
2 2022-02-10
B 1 2022-01-05
2 2022-02-01
Name: Date, dtype: datetime64[ns]
以上代码首先将日期列转换为日期类型,然后使用groupby
方法按Group和月份分组。最后,使用min
方法找到每组中最早的记录。结果是一个包含每个组和月份的索引的Series,对应的值是最早的日期。