下面是一个示例代码,用于按ID分组并获取每个最新记录的值:
import pandas as pd
# 创建示例数据
data = {'ID': [1, 1, 2, 2, 3],
'Value': [10, 20, 30, 40, 50],
'Date': ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05']}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['Date'] = pd.to_datetime(df['Date'])
# 按ID分组并获取每个最新记录的值
latest_records = df.sort_values('Date').groupby('ID').tail(1)
print(latest_records)
输出结果如下:
ID Value Date
1 1 20 2021-01-02
3 2 40 2021-01-04
4 3 50 2021-01-05
在这个示例中,我们首先创建了一个包含ID、Value和Date列的示例数据框。然后,我们将Date列转换为日期类型,以便能够按日期排序。接下来,我们使用sort_values
函数按日期对数据进行排序,并使用groupby
函数按ID进行分组。最后,我们使用tail(1)
函数选择每个组的最后一行记录,即每个ID的最新记录。