DataFrame.mode(self, axis=0, numeric_only=False, dropna=True) → 'DataFrame'
获取沿选定轴的每个元素的mode(s) 。
一组值的mode是最常出现的值。它可以是多个值。
参数: | axis : {0 或 ‘index’, 1 或 ‘columns’}, 默认为 搜索mode时要迭代的axis: 1) 0或'index':获取各列的mode 2) 1或'columns':获取每一行的mode。 numeric_only : 如果为True,则仅适用于数字列。 dropna : 不要考虑 0.24.0版中的新功能。 |
返回值: |
每列或每行的mode |
例子
1)对 DataFrame 的列计算众数
import pandas as pd data = {'A': [1, 2, 2, 3, 4], 'B': [5, 5, 6, 7, 7], 'C': ['x', 'y', 'y', 'z', 'z']} df = pd.DataFrame(data) # 计算每列的众数 print(df.mode())
2)计算行的众数
import pandas as pd data = {'A': [1, 2, 2, 3, 4], 'B': [5, 5, 6, 7, 7], 'C': [5, 7, 9, 2, 3]} df = pd.DataFrame(data) # 计算每行的众数 print(df.mode(axis=1))
3)忽略缺失值(NaN)
import pandas as pd data = {'A': [1, 2, 2, 3, 4], 'B': [5, 5, 6, 7, 7], 'C': ['x', 'y', 'y', 'z', 'z']} df = pd.DataFrame(data) data_with_nan = {'A': [1, 2, 2, 3, None], 'B': [5, None, 5, 6, 7]} df_nan = pd.DataFrame(data_with_nan) # 计算众数,默认会忽略 NaN 值 print(df_nan.mode())
4)计算数值列的众数
import pandas as pd data = {'A': [1, 2, 2, 3, 4], 'B': [5, 5, 6, 7, 7], 'C': [5, 7, 9, 2, 3]} data_with_nan = {'A': [1, 2, 2, 3, None], 'B': [5, None, 5, 6, 7]} df_nan = pd.DataFrame(data_with_nan) df = pd.DataFrame(data) # 只计算数值列的众数 print(df_nan.mode(numeric_only=True))