Pandas2.2 DataFrame
Computations descriptive stats
方法 | 描述 |
---|---|
DataFrame.abs() | 用于返回 DataFrame 中每个元素的绝对值 |
DataFrame.all([axis, bool_only, skipna]) | 用于判断 DataFrame 中是否所有元素在指定轴上都为 True |
DataFrame.any(*[, axis, bool_only, skipna]) | 用于判断 DataFrame 中是否至少有一个元素在指定轴上为 True |
DataFrame.clip([lower, upper, axis, inplace]) | 用于截断(限制)DataFrame 中的数值 |
DataFrame.corr([method, min_periods, ...]) | 用于计算 DataFrame 中各列之间的相关系数矩阵(Correlation Matrix) |
DataFrame.corrwith(other[, axis, drop, ...]) | 用于计算当前 DataFrame 的每一列(或行)与另一个 Series 或 DataFrame 中对应列的相关系数 |
DataFrame.count([axis, numeric_only]) | 用于统计 DataFrame 中每列或每行的非空(非 NaN)元素数量 |
DataFrame.cov([min_periods, ddof, numeric_only]) | 用于计算 DataFrame 中每对列之间的协方差 |
DataFrame.cummax([axis, skipna]) | 用于计算 DataFrame 中每列或每行的累计最大值(cumulative maximum) |
DataFrame.cummin([axis, skipna]) | 用于计算 DataFrame 中每列或每行的累计最小值(cumulative minimum) |
DataFrame.cumprod([axis, skipna]) | 用于计算 DataFrame 中每列或每行的累计乘积(cumulative product) |
DataFrame.cumsum([axis, skipna]) | 用于计算 DataFrame 中每列或每行的累计和(cumulative sum) |
DataFrame.describe([percentiles, include, ...]) | 用于快速生成数据集的统计摘要(summary statistics) |
DataFrame.diff([periods, axis]) | 用于计算 DataFrame 中相邻行或列之间的差值(差分) |
DataFrame.eval(expr, *[, inplace]) | 用于在 DataFrame 上下文中高效地执行字符串形式的表达式运算 |
DataFrame.kurt([axis, skipna, numeric_only]) | 用于计算 DataFrame 中每列或每行的峰度(Kurtosis) |
DataFrame.kurtosis([axis, skipna, numeric_only]) | 用于计算 DataFrame 中每列或每行的峰度(Kurtosis) |
DataFrame.max([axis, skipna, numeric_only]) | 用于计算 DataFrame 中每列或每行的最大值(maximum) |
DataFrame.mean([axis, skipna, numeric_only]) | 用于计算 DataFrame 中每列或每行的平均值(mean) |
DataFrame.median([axis, skipna, numeric_only]) | 用于计算 DataFrame 中每列或每行的中位数(median) |
DataFrame.min([axis, skipna, numeric_only]) | 用于计算 DataFrame 中每列或每行的最小值(minimum) |
DataFrame.mode([axis, numeric_only, dropna]) | 用于查找 众数(出现频率最高的值) 的方法 |
pandas.DataFrame.mode()
pandas.DataFrame.mode()
是 Pandas 中用于查找 众数(出现频率最高的值) 的方法。它返回一个 DataFrame,其中包含每列或每行的众数。
语法
python
DataFrame.mode(axis=0, numeric_only=False, dropna=True)
参数说明
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
axis |
int 或 str | 0 | 定义计算方向: - 0 或 'index' :按列计算众数 - 1 或 'columns' :按行计算众数 |
numeric_only |
bool | False | 是否仅考虑数值类型(如 int、float),忽略字符串、对象等 |
dropna |
bool | True | 是否在计算前删除 NaN 值 |
返回值
- 返回一个新的
DataFrame
,每一列/行中包含该列/行的所有众数。 - 如果某列有多个众数,则会以多行形式展示。
示例
示例数据:
python
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 2, 3, 3],
'B': [4, 5, 5, 5, 6],
'C': ['x', 'y', 'y', 'z', 'z']
})
输出原始数据:
A B C
0 1 4 x
1 2 5 y
2 2 5 y
3 3 5 z
4 3 6 z
示例 1:默认参数(按列计算所有类型的众数)
python
df.mode()
结果:
A B C
0 2 5 y
1 3 5 z
解释:
- 列 A 的众数是
2
和3
(各出现两次) - 列 B 的众数是
5
(出现三次) - 列 C 的众数是
y
和z
(各出现两次)
示例 2:只考虑数值类型 (numeric_only=True
)
python
df.mode(numeric_only=True)
结果:
A B
0 2 5
1 3 5
解释:
- 忽略非数值列
C
,只显示A
和B
的众数
示例 3:按行计算众数 (axis=1
)
python
df.mode(axis=1)
结果:
0
0 1
1 2
2 2
3 3
4 3
解释:
- 每一行的众数(这里每行只有一个众数)
注意事项
- 若某列/行没有重复值,将返回空值或原始数据中第一个值。
- 支持处理
NaN
值(通过dropna
控制是否排除)。 - 当存在多个众数时,会全部列出(作为多行)。