以下是一个示例代码,演示如何比较日期并根据条件筛选同一组中的行。
import pandas as pd
# 创建一个示例数据集
data = {'Group': ['A', 'A', 'B', 'B'],
'Date': ['2022-01-01', '2022-02-01', '2022-01-01', '2022-02-01'],
'Value': [10, 20, 30, 40]}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['Date'] = pd.to_datetime(df['Date'])
# 比较日期并筛选同一组中的行
filtered_df = df.groupby('Group').apply(lambda x: x[x['Date'] == x['Date'].max()])
print(filtered_df)
输出结果为:
Group Date Value
Group
A 1 A 2022-02-01 20
B 3 B 2022-02-01 40
在这个示例中,我们首先将Date列转换为日期类型,然后使用groupby
方法按组进行分组。接着,我们使用apply
方法对每个组应用一个lambda函数。这个lambda函数会比较每个组中的日期列,并筛选出日期最大的行。最后,我们将筛选结果存储在filtered_df中。