以下是一个示例代码,用于按组选择最新的条目,并按照最新的条目给定一个用户定义的列:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'C'],
'Item': ['Item1', 'Item2', 'Item3', 'Item4', 'Item5', 'Item6'],
'Date': ['2021-01-01', '2021-02-01', '2021-03-01', '2021-04-01', '2021-05-01', '2021-06-01'],
'UserDefinedColumn': ['Value1', 'Value2', 'Value3', 'Value4', 'Value5', 'Value6']}
df = pd.DataFrame(data)
# 将Date列转换为日期类型
df['Date'] = pd.to_datetime(df['Date'])
# 按组选择最新的条目
latest_items = df.groupby('Group').apply(lambda x: x.nlargest(1, 'Date')).reset_index(drop=True)
# 输出结果
print(latest_items[['Group', 'Item', 'UserDefinedColumn']])
输出结果:
Group Item UserDefinedColumn
0 A Item2 Value2
1 B Item5 Value5
2 C Item6 Value6
以上代码首先创建了一个示例数据,包含Group、Item、Date和UserDefinedColumn四列。然后将Date列转换为日期类型。接下来使用groupby
函数按组选择每个组中最新的条目,使用nlargest
函数选择每个组中Date列最大的条目。最后使用reset_index
函数重置索引,以便结果DataFrame的索引从0开始。最后,输出结果DataFrame中的Group、Item和UserDefinedColumn列。
上一篇:按组选择最大。