Pandas GroupBy 计算每个组合的出现次数
在这篇文章中,我们将对两列进行GroupBy,并计算Pandas中每个组合的出现次数。
DataFrame.groupby() 方法用于将DataFrame分成组。它将生成存在于数据框某一列的类似数据计数的数量。
语法: DataFrame.groupby(by=None, axis=0, level=None )
参数:
- by:映射、函数、字符串、标签或iterable来分组元素。
- axis:按行(axis=0)或列(axis=1)分组。
- level: 整数。按一个或多个特定的级别对该组的值。
为了理解这一概念,我们将使用下面给出的一个简单的数据集。
输出:
方法1:使用Pandas的dataframe.size()。
它返回一个元素的总数,它是通过乘以shape方法返回的行和列来进行比较。
语法: dataframe.size
输出:
方法2:使用Pandas的dataframe.count()
它用于计算给定轴上的非NA/null观察值的数量。它也适用于非浮动类型的数据。
语法:DataFrame.count(axis=0, level=None, numeric_only=False)
参数:
- axis : 0或’index’为行式,1或’columns’为列式
- level : 如果轴是MultiIndex(分层的),沿某一层次计数,折叠成一个DataFrame。
- numeric_only : 只包括浮点数、英数、布尔值数据
返回: count : 系列(如果指定级别,则为数据框)。
输出:
方法3:使用Pandas reset_index()
它是一个重置数据框架索引的方法。reset_index()方法设置一个从0到数据长度的整数列表作为索引。
语法: DataFrame.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill=” )
参数:
- level: int, string or a list to select and remove passed column from index.
- drop: 布尔值,如果为假,则将被替换的索引列添加到数据中。
- inplace:布尔值,如果为真,则在原始数据框架本身中进行更改。
- col_level:选择在哪个列级插入标签。
- col_fill: 对象,决定其他级别如何命名。
返回类型:DataFrame
输出:
方法4:使用pandas.pivot()函数
它基于DataFrame的3列产生一个透视表。使用来自索引/列的唯一值并填入数值。
语法: pandas.pivot(index, columns, values)
参数:
- index[ndarray] : 标签用于制作新框架的索引。
- columns[ndarray] :用于制作新框架的列的标签。
- values[ndarray] :用于填充新框架的值。
返回:重塑的数据框架。
异常: 如果有任何重复的数据,会引发ValueError。
输出: