可以使用pandas库中的groupby和transform函数来实现此操作。代码示例如下:
import pandas as pd
# 创建数据集
data = {
'group': ['A', 'A', 'B', 'B', 'C', 'C'],
'value': [10, 20, 30, 40, 50, 60],
'special': [15, 15, 25, 25, 35, 35]
}
df = pd.DataFrame(data)
# 按照group分组,并在每个分组内添加一个新列
df['new_column'] = df.groupby('group')['special'].transform('first')
print(df)
输出结果如下:
group value special new_column
0 A 10 15 15
1 A 20 15 15
2 B 30 25 25
3 B 40 25 25
4 C 50 35 35
5 C 60 35 35
其中,groupby函数根据group列对数据进行分组,transform函数在每个分组内将special列的第一个值赋给新列new_column。