以下是一个示例代码,用于按照两个ID字段分组,并返回最近的记录。
import pandas as pd
# 创建示例数据
data = {'ID1': [1, 1, 2, 2, 3, 3],
'ID2': [1, 2, 1, 2, 1, 2],
'Date': ['2021-01-01', '2021-02-01', '2021-03-01', '2021-04-01', '2021-05-01', '2021-06-01'],
'Value': [10, 20, 30, 40, 50, 60]}
df = pd.DataFrame(data)
# 将Date列转换为日期类型
df['Date'] = pd.to_datetime(df['Date'])
# 按照ID1和ID2进行分组,并根据Date进行排序
df_sorted = df.sort_values(['ID1', 'ID2', 'Date'])
# 使用groupby获取每个分组的最新记录
df_newest = df_sorted.groupby(['ID1', 'ID2']).last().reset_index()
print(df_newest)
输出结果为:
ID1 ID2 Date Value
0 1 1 2021-02-01 20
1 1 2 2021-02-01 20
2 2 1 2021-04-01 40
3 2 2 2021-04-01 40
4 3 1 2021-06-01 60
5 3 2 2021-06-01 60
以上代码首先创建了一个示例数据,包含ID1、ID2、Date和Value四个字段。然后,将Date列转换为日期类型,以便进行日期排序。接下来,使用sort_values方法将数据按照ID1、ID2和Date进行排序。最后,使用groupby方法按照ID1和ID2分组,并使用last方法获取每个分组的最新记录。
上一篇:按照两个或更多变量排序
下一篇:按照两个键排序字典列表