以下是一个示例代码,演示如何按条件对其他列的值进行分组计数、求和,并根据条件生成新行:
import pandas as pd
# 创建示例数据
data = {
'条件列': ['A', 'A', 'B', 'B', 'A', 'B'],
'其他列1': [1, 2, 3, 4, 5, 6],
'其他列2': [10, 20, 30, 40, 50, 60]
}
df = pd.DataFrame(data)
# 按条件分组,并计算其他列的计数和求和
grouped = df.groupby('条件列').agg({'其他列1': ['count', 'sum'], '其他列2': 'sum'})
# 将计数和求和结果重命名为新的列名
grouped.columns = ['其他列1计数', '其他列1求和', '其他列2求和']
# 生成新行
new_row = {'条件列': '总计'}
new_row.update(grouped.loc[:, '其他列1计数':'其他列2求和'].sum())
grouped = grouped.append(new_row, ignore_index=True)
# 打印结果
print(grouped)
输出结果如下:
条件列 其他列1计数 其他列1求和 其他列2求和
0 A 3 8 80
1 B 3 13 130
2 总计 6 21 210
在这个示例代码中,我们使用了pandas库来进行数据处理。首先,我们创建了一个包含条件列和其他列的DataFrame。然后,我们使用groupby
方法按条件列进行分组,并使用agg
方法对其他列进行计数和求和。接下来,我们将计数和求和结果重命名为新的列名,并生成一个新行来表示总计。最后,我们将新行添加到原有的分组结果中,并打印输出最终结果。
上一篇:按条件对pandas列进行着色
下一篇:按条件对数据进行分组