要按照其他列对列进行pandas分组,我们可以使用groupby()函数和apply()函数来实现。下面是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'A': ['apple', 'orange', 'banana', 'apple', 'orange', 'banana'],
'B': [1, 2, 3, 4, 5, 6],
'C': [7, 8, 9, 10, 11, 12]}
df = pd.DataFrame(data)
# 按列A进行分组,并对列B进行求和
df['Sum_B'] = df.groupby('A')['B'].transform('sum')
# 按列A进行分组,并对列C进行求平均值
df['Mean_C'] = df.groupby('A')['C'].transform('mean')
print(df)
输出结果为:
A B C Sum_B Mean_C
0 apple 1 7 5 8.5
1 orange 2 8 7 9.5
2 banana 3 9 9 10.5
3 apple 4 10 5 8.5
4 orange 5 11 7 9.5
5 banana 6 12 9 10.5
在上面的代码中,首先我们创建了一个包含'A', 'B', 'C'三列的DataFrame。然后,我们使用groupby()函数按照列'A'进行分组,并对列'B'进行求和,将结果保存到新的列'Sum_B'中。接着,我们使用groupby()函数按照列'A'进行分组,并对列'C'进行求平均值,将结果保存到新的列'Mean_C'中。最后,我们打印输出整个DataFrame。