maxframe.dataframe.DataFrame.mode#
- DataFrame.mode(axis=0, numeric_only=False, dropna=True, combine_size=None)#
获取沿选定轴的每个元素的众数。
一组值的众数是出现频率最高的值。可能有多个值。
- 参数:
- 返回:
每列或每行的众数。
- 返回类型:
参见
Series.mode返回 Series 中出现频率最高的值。
Series.value_counts返回 Series 中值的计数。
示例
>>> import maxframe.tensor as mt >>> import maxframe.dataframe as md >>> df = md.DataFrame([('bird', 2, 2), ... ('mammal', 4, mt.nan), ... ('arthropod', 8, 0), ... ('bird', 2, mt.nan)], ... index=('falcon', 'horse', 'spider', 'ostrich'), ... columns=('species', 'legs', 'wings')) >>> df.execute() species legs wings falcon bird 2 2.0 horse mammal 4 NaN spider arthropod 8 0.0 ostrich bird 2 NaN
默认情况下,不考虑缺失值,翅膀的众数为 0 和 2。由于结果 DataFrame 有两行,因此
species和legs的第二行包含NaN。>>> df.mode().execute() species legs wings 0 bird 2.0 0.0 1 NaN NaN 2.0
设置
dropna=False时,会考虑NaN值并且它们可以成为众数(例如对于 wings)。>>> df.mode(dropna=False).execute() species legs wings 0 bird 2 NaN
设置
numeric_only=True时,仅计算数值列的众数,其他类型的列会被忽略。>>> df.mode(numeric_only=True).execute() legs wings 0 2.0 0.0 1 NaN 2.0
要按列而不是按行计算众数,请使用 axis 参数:
>>> df.mode(axis='columns', numeric_only=True).execute() 0 1 falcon 2.0 NaN horse 4.0 NaN spider 0.0 8.0 ostrich 2.0 NaN