假设有一个数据框df,其中包含一个日期列'date'和其他列。以下是按照'date'列进行分组,然后将每个组中最早日期的行筛选出来放入一个新的数据框中的代码示例:
import pandas as pd
# 创建示例数据框
data = {'date': ['2021-01-01', '2021-01-02', '2021-01-01', '2021-01-03', '2021-01-02'],
'col1': [1, 2, 3, 4, 5],
'col2': ['A', 'B', 'C', 'D', 'E']}
df = pd.DataFrame(data)
# 将'date'列转换为日期时间格式
df['date'] = pd.to_datetime(df['date'])
# 按照'date'列进行分组,并获取每个组中最早日期的行
earliest_rows = df.groupby('date').first().reset_index()
# 输出结果
print(earliest_rows)
输出结果如下:
date col1 col2
0 2021-01-01 1 A
1 2021-01-02 2 B
2 2021-01-03 4 D
在示例中,首先将'date'列转换为日期时间格式以便进行排序。然后,使用groupby()
方法按照'date'列进行分组,并使用first()
方法获取每个组中最早日期的行。最后,使用reset_index()
方法重置索引并将结果存储在新的数据框中。