下面是一个示例代码,实现了按产品选择最近日期的行。
import pandas as pd
# 创建示例数据
data = {'产品': ['A', 'A', 'B', 'B', 'C'],
'日期': ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05']}
df = pd.DataFrame(data)
# 将日期列转换为日期时间类型
df['日期'] = pd.to_datetime(df['日期'])
# 按产品分组,并选择每组中日期最近的行
recent_rows = df.groupby('产品')['日期'].idxmax()
# 根据索引获取最近日期的行
result = df.loc[recent_rows]
# 打印结果
print(result)
输出结果如下:
产品 日期
1 A 2021-01-02
3 B 2021-01-04
4 C 2021-01-05
这段代码首先将日期列转换为日期时间类型,然后使用groupby方法按产品分组。接下来,使用idxmax方法获取每个产品组中日期最大值的索引。最后,使用loc方法根据索引获取最近日期的行。