import numpy as np import pandas as pd data = pd.read_csv('D://pythonlianxi//data.csv') data['score2'] = data['score']*2 result = data.groupby(by=['class'])['score'].agg({ '总分':np.sum, '人数':np.size, '平均值':np.mean, '方差':np.var, '标准差':np.std }) result2 = data.groupby(by=['class', 'name'])[['score', 'score2']].agg([ np.size, np.sum ]) print(result.index) print(result.columns) print(result['平均值']) print(result2.index) print(result2.columns) print(result2['score'])print(result2['score']['sum'])
Index(['一班', '三班', '二班'], dtype='object', name='class') Index(['总分', '人数', '平均值', '方差', '标准差'], dtype='object') class 一班 127.00 三班 121.00 二班 113.75 Name: 平均值, dtype: float64 MultiIndex(levels=[['一班', '三班', '二班'], ['庄艺家', '方伟君', '方小明', '朱凤', '朱志斌', '林良坤', '林龙', '许杰', '郑丽萍', '郑芬', '郭杰明', '陈丽灵', '黄志红']], labels=[[0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2], [3, 4, 7, 8, 10, 0, 1, 2, 11, 5, 6, 9, 12]], names=['class', 'name']) MultiIndex(levels=[['score', 'score2'], ['size', 'sum']], labels=[[0, 0, 1, 1], [0, 1, 0, 1]]) size sum class name 一班 朱凤 1 122 朱志斌 1 120 许杰 1 122 郑丽萍 1 140 郭杰明 1 131 三班 庄艺家 1 119 方伟君 1 136 方小明 1 114 陈丽灵 1 115 二班 林良坤 1 135 林龙 1 96 郑芬 1 119 黄志红 1 105 class name 一班 朱凤 122 朱志斌 120 许杰 122 郑丽萍 140 郭杰明 131 三班 庄艺家 119 方伟君 136 方小明 114 陈丽灵 115 二班 林良坤 135 林龙 96 郑芬 119 黄志红 105 Name: sum, dtype: int64 Process finished with exit code 0
numpy聚合分组求值
最新推荐文章于 2023-04-10 11:18:58 发布