你可以使用groupby
和transform
来实现按组创建一个新的列,该列携带另一列的最后一个值。以下是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'A', 'B', 'B', 'C'],
'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 按组创建新列,携带另一列的最后一个值
df['Last_Value'] = df.groupby('Group')['Value'].transform('last')
print(df)
输出结果:
Group Value Last_Value
0 A 1 3
1 A 2 3
2 A 3 3
3 B 4 5
4 B 5 5
5 C 6 6
在这个示例中,groupby('Group')['Value']
将数据按照'Group'分组,并选择'Value'列。然后,使用transform('last')
方法获取每个组中'Value'列的最后一个值。最后,将这个新的列赋值给df['Last_Value']
。