10分钟
GroupBy对象1
1. GroupBy
对象是一个迭代器对象。迭代结果产生一组二元元组(由分组名和数据块组成)。
- 如果有多重键,则元组的第一个元素将是由键组成的元组。
dict(list(GroupBy_obj))
将生产一个字典,方便引用
2.
GroupBy.groups
属性返回一个字典:{group name->group labels}
GroupBy.indices
属性返回一个字典:{group name->group indices}
3. GroupBy
的统计函数有(排除了NaN
):
GroupBy.count()
:计算各分组的非NaN
的数量GroupBy.cumcount([ascending])
:计算累积分组数量GroupBy.first()
:计算每个分组的第一个非NaN
值GroupBy.head([n])
:返回每个分组的前n
个值GroupBy.last()
:计算每个分组的最后一个非NaN
值GroupBy.max()
:计算每个分组的最大值GroupBy.mean(*args, **kwargs)
:计算每个分组的均值GroupBy.median()
:计算每个分组的中位数GroupBy.min()
:计算每个分组的最小值GroupBy.nth(n[, dropna])
:计算每个分组第n
行数据。 如果n
是个整数列表,则也返回一个列表。GroupBy.ohlc()
:计算每个分组的开始、最高、最低、结束值GroupBy.prod()
:计算每个分组的乘GroupBy.size()
:计算每个分组的大小(包含了NaN
)GroupBy.sem([ddof])
:计算每个分组的sem
(与均值的绝对误差之和)GroupBy.std([ddof])
:计算每个分组的标准差GroupBy.sum()
:计算每个分组的和GroupBy.var([ddof])
:计算每个分组的方差GroupBy.tail([n])
:返回每个分组的尾部n
个值
另外SeriesGroupBy/DataFrameGroupBy
也支持Series/DataFrame
的统计类方法以及其他方法:
#SeriesGroupBy - DataFrameGroupBy 都有的方法:
.agg(arg, *args, **kwargs)
.all([axis, bool_only, ...])
.any([axis, bool_only, ...])
.bfill([limit])
.corr([method, min_periods])
.count()
.cov([min_periods])
.cummax([axis, skipna])
.cummin([axis, skipna])
.cumprod([axis])
.cumsum([axis])
.describe([percentiles, ...])
.diff([periods, axis])
.ffill([limit])
.fillna([value, method, ...])
.hist(data[, column, by, ...])
.idxmax([axis, skipna])
.idxmin([axis, skipna])
.mad([axis, skipna, level])
.pct_change([periods, ...])
.plot
.quantile([q, axis, ...])
.rank([axis, method, ...])
.resample(rule, *args, **kwargs)
.shift([periods, freq, axis])
.size()
.skew([axis, skipna, level, ...])
.take(indices[, axis, ...])
.tshift([periods, freq, axis])
#SeriesGroupBy独有的方法
SeriesGroupBy.nlargest(*args, **kwargs)
SeriesGroupBy.nsmallest(*args, **kwargs)
SeriesGroupBy.nunique([dropna])
SeriesGroupBy.unique()
SeriesGroupBy.value_counts([normalize, ...])
#DataFrameGroupBy独有的方法
DataFrameGroupBy.corrwith(other[, axis, drop])
DataFrameGroupBy.boxplot(grouped[, ...])
学员评价