【python】DataFrame.groupby()聚合,分组级运算
2017-12-10 23:11
651 查看
pandas提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片、切块、摘要
等操作。根据一个或多个键(可以是函数、数组或DataFrame列名)拆分pandas对象。计算分组摘要统
计,如计数、平均值、标准差,或用户自定义函数。对DataFrame的列应用各种各样的函数。应用组内转换
或其他运算,如规格化、线性回归、排名或选取子集等。计算透视表或交叉表。执行分位数分析以及其他分
组分析。
groupby分组函数:
返回值:返回重构格式的DataFrame,特别注意,groupby里面的字段内的数据重构后都会变成索引
groupby(),一般和sum()、mean()一起使用,如下例:
先自定义生成数组
应用groupby,分组键均为Series(譬如df[‘xx’]),实际上分组键可以是任何长度适当的数组
对分组进行迭代
对group by后的内容进行操作,可转换成字典
groupby默认是在axis=0上进行分组的,通过设置也可以在其他任何轴上进行分组
对于大数据,很多情况是只需要对部分列进行聚合
等操作。根据一个或多个键(可以是函数、数组或DataFrame列名)拆分pandas对象。计算分组摘要统
计,如计数、平均值、标准差,或用户自定义函数。对DataFrame的列应用各种各样的函数。应用组内转换
或其他运算,如规格化、线性回归、排名或选取子集等。计算透视表或交叉表。执行分位数分析以及其他分
组分析。
groupby分组函数:
返回值:返回重构格式的DataFrame,特别注意,groupby里面的字段内的数据重构后都会变成索引
groupby(),一般和sum()、mean()一起使用,如下例:
先自定义生成数组
import pandas as pd df = pd.DataFrame({'key1':list('ababa'), 'key2': ['one','two','one','two','one'], 'data1': np.random.randn(5), 'data2': np.random.randn(5)}) print(df)
应用groupby,分组键均为Series(譬如df[‘xx’]),实际上分组键可以是任何长度适当的数组
#将df['data1']按照分组键为df['key1']进行分组 grouped=df['data1'].groupby(df['key1']) print(grouped.mean()) states=np.array(['Ohio','California','California','Ohio','Ohio']) years=np.array([2005,2005,2006,2005,2006]) #states第一层索引,years第二层分层索引 print(df['data1'].groupby([states,years]).mean()) #df根据‘key1’分组,然后对df剩余数值型的数据运算 df.groupby('key1').mean() #可以看出没有key2列,因为df[‘key2’]不是数值数据,所以被从结果中移除。默认情况下,所有数值列都会被聚合,虽然有时可能被过滤为一个子集。
对分组进行迭代
#name就是groupby中的key1的值,group就是要输出的内容 for name, group in df.groupby('key1'): print (name,group)
对group by后的内容进行操作,可转换成字典
#转化为字典 piece=dict(list(df.groupby('key1'))) #对字典取值 value = piece['a']
groupby默认是在axis=0上进行分组的,通过设置也可以在其他任何轴上进行分组
grouped=df.groupby(df.dtypes, axis=1) value = dict(list(grouped)) print(value)
对于大数据,很多情况是只需要对部分列进行聚合
#对df进行'key1','key2'的两次分组,然后取data2的数据,对两次细分的分组数据取均值 value = df.groupby(['key1','key2'])[['data2']].mean()
相关文章推荐
- Python DataFrame.groupby()聚合函数,分组级运算
- pandas聚合和分组运算之groupby
- pandas聚合和分组运算之groupby
- pandas聚合和分组运算之groupby
- python dataframe groupby
- 利用Python进行数据分析--数据聚合与分组运算1
- 【跟着stackoverflow学Pandas】--Converting a Pandas GroupBy object to DataFrame-Groupby对象转换为DataFrame
- Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识
- Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识
- Spark DataFrame 的 groupBy vs groupByKey
- 利用Python进行数据分析--数据聚合与分组运算
- 利用python进行数据分析-数据聚合与分组运算1
- 利用python进行数据分析-数据聚合与分组运算2
- Python之数据聚合与分组运算
- Python之数据聚合与分组运算
- pandas dataframe 分组聚合时,分组组名并入列的方法
- python/pandas数据分析(十五)-聚合与分组运算实例
- python/pandas数据挖掘(十四)-groupby,聚合,分组级运算
- python中数据聚合与分组运算
- Python groupby,聚合,分组级运算