在Python中,可以使用pandas库来实现按照另一列的条件进行分组并创建新列的功能。下面是一个代码示例:
import pandas as pd
# 创建示例数据
data = {'姓名': ['张三', '李四', '王五', '赵六', '刘七'],
'性别': ['男', '男', '女', '男', '女'],
'年龄': [25, 30, 28, 35, 32]}
df = pd.DataFrame(data)
# 按照性别分组,并计算每个性别的平均年龄
df['平均年龄'] = df.groupby('性别')['年龄'].transform('mean')
# 输出结果
print(df)
输出结果为:
姓名 性别 年龄 平均年龄
0 张三 男 25 30.0
1 李四 男 30 30.0
2 王五 女 28 30.0
3 赵六 男 35 30.0
4 刘七 女 32 30.0
在上面的示例中,我们首先创建了一个包含姓名、性别和年龄的DataFrame。然后,使用groupby
函数按照性别进行分组,并使用transform
函数计算每个性别的平均年龄。最后,将计算结果赋值给新列平均年龄
,并输出整个DataFrame。
通过这种方式,我们可以根据不同的条件对数据进行分组,并在每个分组内创建新的列。